CN109861816A - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN109861816A CN109861816A CN201910133423.3A CN201910133423A CN109861816A CN 109861816 A CN109861816 A CN 109861816A CN 201910133423 A CN201910133423 A CN 201910133423A CN 109861816 A CN109861816 A CN 109861816A
- 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
- Financial Or Insurance-Related Operations Such As Payment And Settlement (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节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
根据所述交易签名,进行交易数据处理。
在一个实施例中,响应所述身份验证请求,与服务器进行身份验证,包括:
接收服务器响应所述身份验证请求反馈的加密后的第一随机数和第一签名数据,其中,所述服务器响应所述身份验证请求生成第一随机数,并利用第一传输公钥对所述第一随机数进行加密处理得到所述加密后的第一随机数,利用第二传输私钥对所述加密后的第一随机数进行签名处理,得到第一签名数据;
根据所述第一签名数据和第二传输公钥对所述服务器进行身份验证;
在对所述服务器身份验证通过的情况下,利用所述第一传输私钥对所述加密后的第一随机数进行解密处理,得到第一随机数,并利用所述第一传输私钥对所述第一随机数进行签名处理,得到第二签名数据;
向所述服务器发送所述第二签名数据;
在接收到确认信息的情况下,确定身份验证通过,其中,所述确认信息为所述服务器根据所述第二签名数据和所述第一传输公钥,确定对客户端身份验证通过的情况下所生成的信息。
在一个实施例中,在响应交易数据处理请求,发起身份验证请求前,所述方法还包括:
向服务器发送密钥生成请求;
响应所述服务器基于所述密钥生成请求所发起的KYC验证请求,与所述服务器进行KYC验证;
在KYC验证通过的情况下,生成并保存第一私钥分量,其中,所述服务器在KYC验证通过的情况下,生成并保存第二私钥分量。
在一个实施例中,所述方法还包括:
响应更新请求,调用预设于客户端的第一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)的后端设备,或者称为托管服务器,可以分别记为KMS1和KMS2。所述第一服务器、第二服务器可以为一个具有数据运算、存储功能以及网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。其中,上述第一服务器还预设有第一MPC运算节点,第二服务器还预设有第二MPC运算节点。
在本实施例中,上述第一MPC节点、第二MPC节点具体可以理解为预先分别设置于第一服务器、第二服务器上的运算节点。其中,上述第一MPC节点、第二MPC节点之间可以根据基于MPC协议等生成的预设规则,相互之间进行数据交互,并共同参与函数运算。需要补充的是,上述第一MPC节点具体设置于第一服务器一侧,与第一服务器关联,可以调取第一服务器所保管的信息数据。上述第二MPC节点具体设置于第二服务器一侧,与第二服务器关联,可以调取第二服务器所保管的信息数据。
在本实施例中,上述预设规则具体可以是理解为一种根据MPC(Secure Multi-Party Computation,安全多方计算)协议等生成的,用于表征第一MPC节点、第二MPC节点的数据处理方式的规则集。具体实施时,第一MPC节点和第二MPC节点可以根据上述预设规则进行具体的数据交互,和函数运算。其中,上述MPC协议理解为一种基于密码学,由多方分别输入自己拥有的信息数据,共同参与运算的安全计算协议。
在本实施例中,用于生成交易数据处理过程中所需要的交易签名,原本由客户端单独保管的完整的交易私钥会被:第一私钥分量(可以记为sk1)和第二私钥分量(可以记为sk2)所取代。现有的交易数据处理方法,往往会出现并使用到完整的交易私钥来生成对应的用户的交易签名。在这种情况下,第三方一旦窃取得到该完整的交易私钥,就能很容易地生成用户的交易签名,进而凭借该交易签名调用该用户的账户中的资金数据。而在本实施例中,不但在交易数据处理过程中不会使用到完整的交易私钥,且由于所使用的所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的,因此,在私钥分量的生成过程中也不会出现完整的交易私钥,客户端也不用承担保管交易私钥的安全风险,从而能进一步避免交易私钥泄漏或别窃取对用户交易数据处理的安全性的威胁。
在本实施例中,上述交易签名(也可以称为公钥数字签名或电子签章等)具体可以理解为是一种基于公钥加密技术,用于证明用户身份的数字签名。具体的,上述交易签名可以是一段与用户身份对应,且不易伪造的字符串。在进行具体的交易数据处理时,可以根据上述交易签名,验证用户的身份,并调用用户账户中的资金数据进行具体的交易数据处理。
但在本实施例中,由于在进行生成交易签名等数据处理过程中不会出现或者使用到完整的交易私钥,而是出现并使用两个私钥分量进行具体的数据处理。即,在整个数据处理过程不会出现完整的交易私钥,只会出现第一私钥分量和第二私钥分量。在这种情况下,第三方如果窃取到其中一个私钥分量往往是无法直接生成用户的交易签名,从而可以提高用户的交易数据处理的安全性。
进一步,在得到了上述两个私钥分量后,可以将第一私钥分量和第二私钥分量分开,并分别保存在安全性相对更高的第一服务器和第二服务器处。这样用户不需要自己保管交易私钥,可以通过平台所提供的安全性相对较高,较为可靠的专业服务器承担用户自行保管私钥的安全风险,同时也可以降低由于两个私钥分量保管于一处,被同时窃取的几率,从而可以进一步提高用户的交易数据处理的安全性。
在本实施例中,上述交易数据处理请求具体可以理解为用户通过客户端发起的进行交易数据处理的请求指令。例如,用户通过手机的支付软件点击付款确认的按键,可以理解为用户发起了一种交易数据处理请求。当然,上述所列举的交易数据处理请求只是一种示意性说明。具体实施时,根据具体情况和处理要求,上述交易数据处理请求还可以包含有其他的形式或内容。对此,本说明书不作限定。
在一个实施例中,基于上述考虑,具体实施时,可以参阅图2所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,在响应交易数据处理请求,发起身份验证请求之前,可以先按照以下方式由第一服务器和第二服务器分别生成并保存第一私钥分量和第二私钥分量,使得在整个过程中不出现完整的交易私钥。
S1:发送密钥生成请求;
S2:接收第一公钥、第二公钥,其中,所述第一公钥为第一服务器响应所述密钥生成请求生成的,所述第一服务器还保存有与所述第一公钥匹配的第一私钥,所述第二公钥为第二服务器响应所述密钥生成请求生成的,所述第二服务器还保存有与所述第二公钥匹配的第二私钥;
S3:生成第二随机数据,并将所述第二随机数发送至第一服务器和第二服务器;
S4:接收第一签名数据、第二签名数据,其中,所述第一签名数据为第一服务器根据所述第一私钥对所述第二随机数进行签名处理得到的数据,所述第二签名数据为第二服务器根据所述第二私钥对所述第二随机数进行签名处理得到的数据;
S5:根据所述第一公钥、所述第二公钥、所述第一签名数据、所述第二签名数据,进行身份确认;
S6:在身份确认成功的情况下,向所述第一服务器和第二服务器发送身份确认指示,其中,所述第一服务器用于响应所述身份确认指示,生成并保存第一私钥分量,所述第二服务器用于响应所述身份确认指示,生成并保存第二私钥分量;
S7:接收交易公钥,其中,所述交易公钥为所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述第一私钥分量和所述第二私钥分量作为输入数据,按照预设规则,进行运算得到的。
在本实施例中,具体实施时,客户端不生成用于生成交易签名的完整的交易私钥或者私钥分量,而是通过向第一服务器和第二服务器分别发送密钥生成请求,由第一服务器和第二服务器响应上述密钥生成请求,分别生成针对使用该客户端的该用户的第一私钥分量和第二私钥分量。
在本实施例中,为了确保参与生成第一私钥分量、第二私钥分量的第一服务器、第二服务器,以及发起密钥生成请求的客户端的身份都是合法,即有资格请求,或者生成上述第一私钥分量和第二私钥分量的,以进一步提高用户的交易数据处理的安全性。可以先对客户端、第一服务器和第三服务器的身份进行确认。在确认成功的情况下,第一服务器和第二服务器才会响应客户端的密钥生成请求,为用户生成对应的第一私钥分量和第二私钥分量。
在本实施例中,具体实施时,第一服务器在接收到上述密钥生成请求后,可以先响应上述密钥生成请求,生成相互匹配的第一私钥(可以记为sk_s1)和第一公钥(可以记为pk_s1)。并将其中的第一公钥通过有线或无线的方式发送至客户端。
在本实施例中,具体实施时,上述第一服务器可以按照以下方式生成上述第一私钥和第一公钥:keyGen()→(sk_s1,pk_s1)。其中,上述keyGen()具体可以表示用于生成公私钥对的运算。
在本实施例中,类似的,第二服务器在接收到上述密钥生成请求后,可以先响应上述密钥生成请求,生成相互匹配的第二私钥(可以记为sk_s2)和第二公钥(可以记为pk_s2)。并将其中的第二公钥发送至客户端。其中,上述第二服务器可以按照以下方式生成上述第二私钥和第二公钥:keyGen()→(sk_s2,pk_s2)。其中,上述keyGen()具体可以表示用于生成公私钥对的运算。
这样在客户端一侧可以同时接收到由第一服务器生成并发送的第一公钥和由第二服务器生成并发送的第二公钥。
在本实施例中,在客户端接收到上述第一公钥和第二公钥后,进一步可以生成一个随机数作为第二随机数(可以记为m2),并通过有线或无线的方式分别发送给第一服务器和第二服务器。
在本实施例中,第一服务器在接收到上述第二随机数后,可以利用所拥有的第一私钥对第二随机数进行签名处理,得到对应的第一签名数据(可以记为sig1),并将上述第一签名数据发送给客户端。
类似的,第二服务器在接收到上述第二随机数后,可以利用所拥有的第二私钥对第二随机数进行签名处理,得到对应的第二签名数据(可以记为sig2),并将上述第二签名数据发送给客户端。
在本实施例中,客户端在接收到上述第一签名数据和第二签名数据后,可以根据所述第一公钥、第二公钥、第一签名数据、第二签名数据,进行身份确认。
具体的,客户端可以利用第一公钥对第一签名数据进行验证运算,如果得到的运算结果为某一特定数值,例如为1,则可以判断第一服务器与客户端之间的身份关系合法。如果得到的运算结果不为1,则判断第一服务器与客户端之间的身份关系不合法。
类似的,客户端可以利用第二公钥对第二签名数据进行验证运算,如果得到的运算结果为1,则判断第二服务器与客户端之间的身份关系合法。如果得到的运算结果不为1,则判断第二服务器与客户端之间的身份关系不合法。
在客户端确定第一服务器与客户端之间的身份关系合法,同时第二服务器与客户端之间的身份关系合法的情况下,确定身份确认成功。否则确定身份确认失败。
当然,需要说明的是,上述所列举的身份确认方式只是一种示意性说明。具体实施时,根据具体情况和处理要求,也可以采用其他合适的方式进行身份确认。对此,本说明书不作限定。
在本实施例中,在身份确认成功的情况下,客户端可以分别向第一服务器和第二服务器发送身份确认指示,以指示所涉及到的客户端、第一服务器和第二服务器的身份合法,可以生成用于交易数据处理的第一私钥分量和第二私钥分量。
在本实施例中,具体实施时,在第一服务器接收到上述身份确认指示后,可以响应上述身份确认指示,并在第一服务器本地生对应使用该客户端用户的第一私钥分量。并将上述第一私钥分量保存于第一服务器本地。具体的,例如,第一服务器可以按照以下方式生成第一私钥分量:keyGen()→sk1。
类似的,在第二服务器接收到上述身份确认指示后,可以响应上述身份确认指示,并在第二服务器本地生对应使用该客户端用户的第二私钥分量。并将上述第二私钥分量保存于第二服务器本地。具体的,例如,第二服务器可以按照以下方式生成第二私钥分量:keyGen()→sk2。
在本实施例中,在第一服务器和第二服务器各自生成第一私钥分量和第二私钥分量后,进一步,所述第一服务器可以调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述第一私钥分量和所述第二私钥分量作为输入数据,按照预设规则,进行运算得到交易公钥。并通过第一服务器,和/或,第二服务器将上述交易公钥发送至客户端。这样客户端可以不自己保存、管理直接参与交易数据处理的第一私钥分量或第二私钥分量,而是只是保管后续可以作为更新验证中的比对依据的交易公钥。从而可以降低客户端端所承担的安全风险,提高用户交易数据处理的安全性。
在一个实施例中,具体实施时,第一服务器、第二服务器可以采用以下所列举的存储方式中的任意一种来保存所负责保管的第一私钥分量、第二私钥分量:通过硬件存储,通过使用助记词存储,通过使用口令加密存储等等。客户端也可以采用类似的存储方式存储交易公钥。当然,需要说明的是,上述所列举的存储方式只是为了更好地说明本说明书实施方式。具体实施时,根据具体情况和加密要求,还可以采用其他合适的存储方式存储私钥分量或者交易公钥。对此,本说明书不作限定。
在本实施例中,为了进一步提高交易数据处理过程中的数据安全性,客户端在接收到用户发出的交易数据处理请求后,可以先在客户端、第一服务器和第二服务器之间发起身份验证请求,以便在验证客户端、第二服务器和第三服务器的身份均无误后,再调用第一服务器、第二服务器各自保管的私钥分量进行具体的交易数据处理。从而可以及时地发现身份存在问题的客户端、第一服务器或第二服务器,避免私钥分量的泄漏。
S13:响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,其中,所述第一服务器保存有第一私钥分量,所述第二服务器保存有第二私钥分量。
在本实施例中,上述身份验证请求具体可以理解为一种针对与待生成的交易签名相关的客户端、第一服务器和第二服务器进行的身份验证请求。
在本实施例中,上述响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,具体可以理解为客户端、第一服务器和第二服务器可以响应上述身份验证请求,相互之间分别进行身份验证。在客户端与第一服务器、第二服务器三方都验证通过时,确定身份验证通过。
在一个实施例中,参阅图3所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,上述响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,具体实施时,可以包括以下内容:
S1:响应所述身份验证请求,生成第一随机数,并将所述第一随机数分别发送至第一服务器和第二服务器;
S2:接收验证签名,其中,所述验证签名为第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以第一私钥分量和第二私钥分量作为输入数据,按照预设规则,对所述第一随机数进行签名处理得到的数据;
S3:根据所述交易公钥、所述验证签名,进行身份验证。
在本实施例中,具体实施时,客户端可以先响应上述身份验证请求,生成一个随机数作为第一随机数(可以记为m1),再将上述第一随机数通过有线或无线的方式发送至第一服务器和第二服务器。
在本实施例中,在第一服务器和第二服务器接收到上述第一随机数后,第一服务器可以调用第一MPC节点以第一服务器所保管的第一私钥分量作为输入数据,同时和第二服务器调用第二MPC节点以第二服务器所保管的第二私钥分量作为输入数据,按照预设规则,共同对上述第一随机数进行签名处理,得到验证签名(可以记为sig)。再有第一服务器或第二服务器将上述验证签名通过有线或无线的方式发送至客户端,客户端接收上述验证签名。
在本实施例中,客户端在接收到上述验证签名后,可以利用所保管的交易公钥进行具体的身份验证。
在本实施例中,具体实施时,客户端可以利用所保管的交易公钥对验证签名进行验证运算,如果得到的运算结果为1,则判断客户端、第一服务器和第二服务器三方之间的身份关系合法,确定身份验证通过。如果得到的运算结果不为1,则判断客户端、第一服务器和第二服务器三方之间的身份关系不合法,确定身份验证不通过。
在本实施例中,在验证通过的情况下,第一服务器和第二服务器才会调用预设的第一MPC节点和预设的第二MPC节点,分别以第一私钥分量和第二私钥分量作为输入数据,进行函数运算,以生成交易签名。
在一个实施例中,还可以采用其他合适的验证方式验证客户端、第一服务器和第二服务器三方之间的身份关系。可以参阅图4所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,上述响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,具体实施时,可以包括以下内容:
S1:响应所述身份验证请求,向所述第一服务器和/或所述第二服务器发送验证公钥获取请求;
S2:接收验证公钥,其中,所述验证公钥为所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以第一私钥分量和第二私钥分量作为输入数据,按照预设规则,进行运算得到的;
S3:根据所述交易公钥、所述验证公钥,进行身份验证。
在本实施例中,具体实施时,客户端可以响应上述身份验证请求,向第一服务器或第二服务器,或者同时向第一服务器和第二服务器发送验证公钥获取请求,以向第一服务器和第二服务器请求获取用于验证三方身份的公钥,即验证公钥。
在本实施例中,第一服务器或者第二服务器中任意一个服务器在接收到上述验证公钥获取请求后,会与另一个服务器通信,将上述验证公钥获取请求传递给对方,以便共同生成上述验证公钥。
在本实施例中,具体实施时,第一服务器和第二服务器在接收到上述验证公钥获取请求后,可以共同响应上述验证公钥获取请求,所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以第一私钥分量和第二私钥分量作为输入数据,按照预设规则,进行运算得到的验证公钥(可以记为p’)。并通过第一服务器或第二服务器将上述验证公钥发送至客户端,客户端接收上述验证公钥。
在本实施例中,客户端在接收到上述验证公钥后,可以利用所保管的交易公钥,与上述验证公钥进行差异比对,根据差异比对结果确定身份验证结果。具体的,如果交易公钥与验证公钥的差异值较小,小于等于预设的差异阈值(即交易公钥与验证公钥相同或相近),则可以确定身份验证通过。如果交易公钥与验证公钥的差异值较大,大于预设的差异阈值,则可以确定身份验证不通过。其中,上述预设的差异阈值的具体数值可以根据具体情况和精度要求,灵活设置。对此,本说明书不作限定。
在本实施例中,在身份验证不通过的情况下,可以判断上述客户端、第一服务器和第三服务器三方中至少有一方的身份不合法,在这种情况下进行交易数据处理,存在较高的安全风险。因此,可以暂停后续的交易数据处理,即暂停交易签名的生成,以保护用户的交易安全。
S15:在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
在本实施例中,上述预设的函数运算具体可以理解为一种基于预设规则,用于生成交易签名的函数运算。
在本实施例中,在身份验证通过,即确定客户端、第一服务器和第二服务器三方身份合法的情况下,客户端可以通过调用预设于第一服务器的第一MPC节点以第一服务器所保管的所述第一私钥分量作为输入数据,同时,调用预设于第二服务器的第二MPC节点以第二服务器所保管的所述第二私钥分量作为输入数据,按照预设规则,共同参与预设的函数运算,得到运算结果作为交易签名。进而,第一服务器和/或第二服务器可以通过有线或无线的方式将所生成的交易签名发送至客户端。客户端可以接收获取上述交易签名。
通过上述方式,使得客户端和第一服务器、第二服务器在进行数据交互,以及生成交易签名的运算过程中始终没有出现完整的交易私钥,避免了完整的交易私钥在数据处理过程中可能被泄漏或窃取所导致的交易风险。同时,也顺利、准确地生成了用于后续具体的交易数据处理的交易签名。
S17:根据所述交易签名,进行交易数据处理。
在本实施例中,在客户端得到上述交易签名后,可以响应交易数据处理请求,以上述交易签名作为身份凭证,进行具体的交易数据处理。
例如,可以根据交易签名作为身份凭证,调用用户的账户中的资金数据来支付账单。也可以根据交易签名,生成该用户的购物订单等等。当然,需要说明的是,上述所列举的交易数据处理方式只是一种示意性说明。具体实施时,根据具体的应用场景和使用需求,还可以根据上述交易签名,进行其他类型的交易数据处理。对此,本说明书不作限定。
在本申请实施例中,相较于现有方法,由于通过事先将第一私钥分量和第二私钥分量分开保存于安全性更高的第一服务器和第二服务器两侧,客户端不保存交易私钥;在用户需要进行交易数据处理时,又通过调用预设于第一服务器的第一MPC节点和预设于第二服务器的第二MPC节点分别以各端所保存的第一私钥分量和第二私钥分量作为输入,按照预设规则共同进行预设的函数运算,来生成交易签名,这样使得在交易数据的处理过程中不会出现完整的交易私钥,客户端也不用承担保管交易私钥或者交易私钥分量的风险,从而解决了现有的交易数据的处理过程中由于需要使用到完整密钥,以及需要客户端自行保管交易私钥或者交易私钥分量等,导致的密钥使用不安全的技术问题,达到了降低用户的交易数据的处理过程中所要承担的安全风险,提高交易数据处理的安全性的技术效果,又由于所使用的第一私钥分量和第二私钥分量不是根据交易私钥生成的,因此不但在数据处理过程中没有使用完整的交易私钥,在私钥分量的生成过程中也没有出现过完整的交易私钥,从而能进一步提高交易数据处理的安全性。
在一个实施例中,为了进一步提高安全性,还可以每隔一段时间或者响应用户主动发出的更新指示,对第一服务器和第二服务器所保管的第一私钥分量和第二私钥分量进行更新。
在本实施例中,具体实施时,所述方法具体还可以包括以下内容:响应更新请求,向所述第一服务器和所述第二服务器发送密钥更新指示,其中,所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述第一私钥分量和所述第二私钥分量作为输入数据,按照预设规则,进行运算得到的更新后的第一私钥分量、更新后的第二私钥分量。
在本实施例中,上述更新请求具体可以是客户端根据预设的时间间隔自动生成的私钥分量的更新请求,也可以是响应用户或者业务平台的更新指令所生成的更新请求。对于上述更新请求的具体生成方式,本说明书不作限定。
在本实施例中,具体实施时,在第一服务器和第二服务器接收到客户端发送的秘钥更新知识后,所述第一服务器可以调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述第一私钥分量和所述第二私钥分量作为输入数据,按照预设规则,进行运算得到的更新后的第一私钥分量(可以记为sk1’)、更新后的第二私钥分量(可以记为sk2’)。
在第一服务器生成上述更新后的第一私钥分量后,可以利用更新后的第一私钥分量替换原有的第一私钥分量进行保存,同时销毁原有的第一私钥分量。类似的,在第二服务器生成上述更新后的第二私钥分量后,可以利用更新后的第二私钥分量替换原有的第二私钥分量进行保存,同时销毁原有的第二私钥分量。
在一个实施例中,在响应更新请求,生成对应的新的私钥分量,即更新后的第一私钥分量和更新后的第二私钥分量之后,为了保证更新后的私钥分量是正确、有效的私钥分量,可以进一步对上述更新后的第一私钥分量和更新后的第二私钥分量进行比对验证,以确定所生成的更新后的第一私钥分量和更新后的第二私钥分量是否满足要求,即是否能成准确的用户签名。在确定所生成的更新后的第一私钥分量和更新后的第二私钥分量满足要求的情况下,再利用更新后的第一私钥分量替换原有的第一私钥分量,保存于第一服务器;利用更新后的第二私钥分量替换原有的第二私钥分量,保存与第二服务器,从而完成对私钥分量的更新。在确定所生成的更新后的第一私钥分量和更新后的第二私钥分量不满足要求的情况下,可以重新计算生成更新后的第一私钥分量和更新后的第二私钥分量,再进行比对验证。
在一个实施例中,具体实施时,可以通过签名验证的方式,来确定更新后的第一私钥分量和更新后的第二私钥分量是否满足要求。具体的,可以参阅图5所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,在第一服务器和第二服务器生成所述更新后的第一私钥分量、更新后的第二私钥分量后,所述方法还可以包括以下内容:
S1:客户端生成第三随机数(可以记为m3),并将所述第三随机数通过有线或无线的方式发送至所述第一服务器和所述第二服务器。
S2:接收第三签名数据,其中,所述第三签名数据为所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述更新后的第一私钥分量和所述更新后的第二私钥分量作为输入数据,按照预设规则,进行运算得到的。
在本实施例中,在第一服务器和第二服务器接收到上述第三随机数后,所述第一服务器可以调用第一MPC节点,同时第二服务器调用第二MPC节点,分别以所述更新后的第一私钥分量和所述更新后的第二私钥分量作为输入数据,按照预设规则,进行运算得到的,得到第三签名数据(可以记为sig3)。再通过第一服务器或第二服务器将上述第三签名数据发送至客户端,客户端接收获取上述第三签名数据。
S3:根据所述交易公钥、所述第三签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在本实施例中,上述根据所述交易公钥和所述第三签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求,具体实施时,可以包括:客户端利用所保存的交易公钥对上述第三签名数据进行验证处理,如果验证成功,则可以确定所述更新后的第一私钥分量、所述更新后的第二私钥分量满足要求,从而判断更新成功。如果验证不成功,则可以确定所述更新后的第一私钥分量、所述更新后的第二私钥分量不满足要求,从而判断更新失败。
在一个实施例中,具体实施时,还可以通过公钥比对的方式,来确定更新后的第一私钥分量和更新后的第二私钥分量是否满足要求。具体的,可以参阅图6所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,在第一服务器和第二服务器生成所述更新后的第一私钥分量、更新后的第二私钥分量后,所述方法还可以包括以下内容:
S1:接收更新后的交易公钥,其中,所述更新后的交易公钥为所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述更新后的第一私钥分量和所述更新后的第二私钥分量作为输入数据,按照预设规则,进行运算得到的。
在本实施例中,具体实施时,在第一服务器和第二服务器生成所述更新后的第一私钥分量、更新后的第二私钥分量后,所述第一服务器可以调用第一MPC节点,连同第二服务器调用第二MPC节点,分别以所述更新后的第一私钥分量和所述更新后的第二私钥分量作为输入数据,按照预设规则,进行共同运算得到的一个新的公钥作为更新后的交易公钥(可以记为pk”)。再由第一服务器或第二服务器将上述更新后的交易公钥通过有线或无线的方式发送至客户端。客户端接收获取更新后的交易公钥。
S2:根据所述交易公钥、所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在本实施例中,上述根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求,具体实施时,可以包括:比较所述交易公钥和所述更新后的交易公钥的差异值是否小于预设的差异阈值,如果所述交易公钥和所述更新后的交易公钥的差异值小于等于预设的差异阈值,则可以确定所述更新后的第一私钥分量、所述更新后的第二私钥分量满足要求,更新成功,即验证通过。如果所述交易公钥和所述更新后的交易公钥的差异值大于预设的差异阈值,则可以确定所述更新后的第一私钥分量、所述更新后的第二私钥分量不满足要求,更新失败,即验证不通过。
当然需要补充的是,上述所列举的多种用于确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求的方式只是为了更好地说明本说明书实施例。具体实施时,根据具体的应用场景和处理需要,还可以采用其他合适的方式来确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。对此,本说明书不作限定。
从以上的描述中,可以看出,本申请实施例提供的数据处理方法,通过事先将第一私钥分量和第二私钥分量分开保存于安全性更高的第一服务器和第二服务器两侧,客户端不保存交易私钥;在用户需要进行交易数据处理时,又通过调用预设于第一服务器的第一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节点,分别以第一私钥分量和第二私钥分量作为输入数据,按照预设规则,对所述第一随机数进行签名处理得到的数据;
第一验证单元,具体可以用于根据所述交易公钥、所述验证签名,进行身份验证。
在一个实施例中,为能够响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,所述验证模块802具体还可以包括以下结构单元:
第一发送单元,具体可以用于响应所述身份验证请求,向所述第一服务器和/或所述第二服务器发送验证公钥获取请求;
第二接收单元,具体可以用于接收验证公钥,其中,所述验证公钥为所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以第一私钥分量和第二私钥分量作为输入数据,按照预设规则,进行运算得到的;
第二验证单元,具体可以用于根据所述交易公钥、所述验证公钥,进行身份验证。
在一个实施例中,所述装置具体还可以包括生成模块,其中,所述生成模块具体可以包括以下结构单元:
第二发送单元,具体可以用于发送密钥生成请求;
第三接收单元,具体可以用于接收第一公钥、第二公钥,其中,所述第一公钥为第一服务器响应所述密钥生成请求生成的,所述第一服务器还保存有与所述第一公钥匹配的第一私钥,所述第二公钥为第二服务器响应所述密钥生成请求生成的,所述第二服务器还保存有与所述第二公钥匹配的第二私钥;
第二生成单元,具体可以用于生成第二随机数据,并将所述第二随机数发送至第一服务器和第二服务器;
第四接收单元,具体可以用于接收第一签名数据、第二签名数据,其中,所述第一签名数据为第一服务器根据所述第一私钥对所述第二随机数进行签名处理得到的数据,所述第二签名数据为第二服务器根据所述第二私钥对所述第二随机数进行签名处理得到的数据;
第一确认单元,具体可以用于根据所述第一公钥、所述第二公钥、所述第一签名数据、所述第二签名数据,进行身份确认;
第三发送单元,具体可以用于在身份确认成功的情况下,向所述第一服务器和第二服务器发送身份确认指示,其中,所述第一服务器用于响应所述身份确认指示,生成并保存第一私钥分量,所述第二服务器用于响应所述身份确认指示,生成并保存第二私钥分量;
第五接收单元,具体可以用于接收交易公钥,其中,所述交易公钥为所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述第一私钥分量和所述第二私钥分量作为输入数据,按照预设规则,进行运算得到的。
在一个实施例中,所述装置具体还可以包括更新模块,其中,所述更新模块具体可以用于响应更新请求,向所述第一服务器和所述第二服务器发送密钥更新指示,其中,所述第一服务器调用第一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所示的根据本申请实施方式提供的数据处理方法的处理流程图。本申请实施例提供的数据处理方法,可以应用于客户端(可以记为client)一侧。其中,客户端预先保存有第一私钥分量,服务器(可以记为KMS)预先保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的。具体实施时,该方法可以包括以下步骤。
S101:响应交易数据处理请求,发起身份验证请求;
S103:响应所述身份验证请求,与服务器进行身份验证,其中,所述服务器保存有第二私钥分量;
S105:在身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
S107:根据所述交易签名,进行交易数据处理。
在一个实施例中,为了进一步降低交易数据处理过程中的安全风险,在生成交易签名前,可以先对客户端和服务器进行双向身份验证,在客户端和服务器都身份验证通过的情况下,再生成上述交易签名。
在本实施例中,参阅图11所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,上述响应所述身份验证请求,与服务器进行身份验证,可以包括以下内容:
S1:接收服务器响应所述身份验证请求反馈的加密后的第一随机数和第一签名数据,其中,所述服务器响应所述身份验证请求生成第一随机数,并利用第一传输公钥对所述第一随机数进行加密处理得到所述加密后的第一随机数,利用第二传输私钥对所述加密后的第一随机数进行签名处理,得到第一签名数据;
S2:根据所述第一签名数据和第二传输公钥对所述服务器进行身份验证;
S3:在对所述服务器身份验证通过的情况下,利用所述第一传输私钥对所述加密后的第一随机数进行解密处理,得到第一随机数,并利用所述第一传输私钥对所述第一随机数进行签名处理,得到第二签名数据;
S4:向所述服务器发送所述第二签名数据;
S5:在接收到确认信息的情况下,确定身份验证通过,其中,所述确认信息为所述服务器根据所述第二签名数据和所述第一传输公钥,确定对客户端身份验证通过的情况下所生成的信息。
在本实施例中,参阅图11所示,在进行具体身份验证前,客户端可以先生成相互匹配的第一传输公钥(可以记为pk_c)和第一传输私钥(可以记为sk_c),其中,客户端保存第一传输私钥,并将第一传输公钥发送给服务器。类似的,服务器可以先生成相互匹配的第二传输公钥(可以记为pk_s)和第二传输私钥(可以记为sk_s),其中,服务器保存第二传输私钥,并将第二传输公钥发送给客户端。
在本实施例中,在进行具体身份验证时,可以先由服务器先生成第一随机数(可以记为m1’)。再由服务器利用第一传输公钥对第一随机数进行加密处理,得到加密后的第一随机数(可以记为cxt’)。例如,可以按照以下方式对第一随机数进行加密处理:Enc(pk_c,m1’)→cxt’。进一步服务器可以利用第二传输私钥对上述加密后的第一随机数进行签名处理,得到第一签名数据(可以记为sig1’)。例如,可以按照以下方式进行签名处理:Sign(sk_s,cxt’)→sig1’。再将上述加密后的第一随机数和第一签名数据发送给客户端。
客户端在接收到上述加密后的第一随机数和第一签名数据后,可以根据所保存的第一传输私钥、上述加密后的第一随机数,以及上述第一签名数据,对服务器进行身份验证。具体的,客户端可以以第一传输私钥、加密后的第一随机数以及第一签名数据作为输入,对第一签名数据进行验证运算,根据验证运算的结果,确定对服务器的身份验证是否通过。例如,可以按照以下方式对第一签名数据进行验证运算:Verify(pk_s,cxt’,sig1’)。如果得到验证运算结果为1,则确定对服务器身份验证通过。如果得到的验证运算结果不为1,则确定对服务器身份验证不通过。
在客户端对服务器身份验证通过的情况下,客户端可以进一步利用所保存的第一传输私钥对加密后的第一随机数进行解密处理,得到第一随机数。例如,可以按照以下方式进行解密处理:Dec(sk_c,cxt’)→m1’。再利用第一传输私钥对第一随机数进行签名处理,得到对应第二签名数据(可以记为sig2’)。例如,可以按照以下方式进行签名处理:Sign(sk_c,m1’)→sig2’。再将上述第二签名数据发送至服务器。
服务器在接收到上述第二签名数据后,可以利用所保存的第一传输公钥、第一随机数和第二签名数据作为输入,对第二签名数据进行验证运算,根据验证运算结果,确定对客户端的身份验证是否通过。例如,可以按照以下方式对第二签名数据进行验证运算:Verify(pk_c,m1’,sig2’)。如果得到验证运算结果为1,则确定对客户端身份验证通过。如果得到的验证运算结果不为1,则确定对客户端身份验证不通过。
在服务器对客户端身份验证通过的情况下,完成了双向验证,服务器生成并向客户端反馈确认信息,以指示对客户端和服务器的身份验证通过,可以进行后续的交易签名的生成。
由上可见,本申请实施例提供的数据处理方法,由于通过预先将第一私钥分量和第二私钥分量分别分开保存于客户端和服务器的两侧;在用户需要进行交易数据处理时,又通过调用预设于客户端的第一MPC节点和预设于服务器的第二MPC节点分别以各端所保存的第一私钥分量和第二私钥分量作为输入,按照预设规则共同进行预设的函数运算,来生成交易签名,这样使得在交易数据的处理过程中不会出现完整的交易私钥,从而解决了现有的交易数据的处理过程中由于需要使用或者出现了完整密钥,导致的密钥使用不安全的技术问题,达到了兼顾数据处理过程中的实现成本,降低用户的交易私钥被泄漏或窃取的风险,提高交易数据处理的安全性的技术效果,又由于所使用的第一私钥分量和第二私钥分量不是根据交易私钥生成的,因此不但在数据处理过程中没有使用完整的交易私钥,在私钥分量的生成过程中也没有出现过完整的交易私钥,从而能进一步提高交易数据处理的安全性。
在一个实施例中,客户端可以预先生成并保存了第一私钥分量,服务器预先生成并保存了第二私钥分量。具体实施时,参阅图12所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,在响应交易数据处理请求,发起身份验证请求前,所述方法还包括以下内容:
S1:向服务器发送密钥生成请求;
S2:响应所述服务器基于所述密钥生成请求所发起的KYC验证请求,与所述服务器进行KYC验证;
S3:在KYC验证通过的情况下,生成并保存第一私钥分量,其中,所述服务器在KYC验证通过的情况下,生成并保存第二私钥分量。
在本实施例中,上述密钥生成请求具体还可以携带有密钥托管指示,用于指示服务器在生成私钥分量后,保管相应的私钥分量。
在本实施例中,上述KYC验证具体可以理解为一种客户身份验证。具体实施时,服务器可以通过对客户端进行短信验证、银行账户验证等多种形式的验证完成对客户端的KYC验证。
在本实施例中,参阅图12所示,在KYC验证通过后,客户端和服务器可以分别生成第一私钥分量(可以记为sk1)和第二私钥分量(可以记为sk2)。其中,客户端负责保管第一私钥分量,服务器负责保管第二私钥分量。
在一个实施例中,具体实施时,在客户端和服务器分别生成第一私钥分量(和第二私钥分量后,进一步,客户端可以调用预设于客户端的第一MPC节点以第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,进行运算得对应的交易公钥(pk),并将上述交易公钥保存于客户端用于后续的数据处理。这样客户端只需要保存交易公钥和第一私钥分量,而不需要保存用于生成交易签名的完整的私钥,从而降低了交易数据处理过程中存在的安全风险。
在一个实施例中,为了满足用户的个性化要求,对客户端和服务器所保存的私钥分量进行更新,以进一步提高安全性,具体实施时,所述方法还可以包括以下内容:响应更新请求,调用预设于客户端的第一MPC节点以第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,进行运算得到更新后的第一私钥分量(可以记为sk1’)和更新后的第二私钥分量(可以记为sk2’)。
在一个实施例中,在按照上述方式生成更新后的第一私钥分量和更新后的第二私钥分量后,还可以再对所生成的更新后的第一私钥分量和更新后的第二私钥分量是否满足要求,即是否能够用于生成对应的交易签名,进行验证确定。
在一个实施例中,可以通过公钥比对的方式对所生成的更新后的第一私钥分量和更新后的第二私钥分量是否满足要求进行验证确定。具体的,可以参阅图13所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,在响应更新请求,调用预设于客户端的第一MPC节点以第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,进行运算得到更新后的第一私钥分量和更新后的第二私钥分量后,所述方法还可以包括以下内容:
S1:调用预设于客户端的第一MPC节点以更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,进行运算,生成更新后的交易公钥(可以记为pk1’);
S2:根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在本实施例中,具体实施时,客户端可以利用所保存的交易公钥与上述更新后的交易公钥进行比对,如果更新后的交易公钥与所保存的交易公钥相同,或者差异值相对较小,则确定更新后的第一私钥分量、所述更新后的第二私钥分量满足要求。进而,客户端可以存储上述更新后的第一私钥分量,以替换之前保存的第一私钥分量;服务器可以存储上述更新后的第二私钥分量,以替换之前保存的第二私钥分量,从而完成对私钥分量的更新。
在一个实施例中,还可以通过签名验证的方式对所生成的更新后的第一私钥分量和更新后的第二私钥分量是否满足要求进行验证确定。具体的,可以参阅图14所示的根据本申请实施方式提供的数据处理方法的一个实施例示意图,在响应更新请求,调用预设于客户端的第一MPC节点以第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,进行运算得到更新后的第一私钥分量和更新后的第二私钥分量后,所述方法还可以包括以下内容:
S1:生成第三随机数(可以记为m3’);
S2:调用预设于客户端的第一MPC节点以更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,对所述第三随机数进行签名处理,得到第三签名数据(可以记为sig3’);
S3:根据所述交易公钥和所述第三签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在本实施例中,具体实施时,客户端可以利用交易公钥,以及第三随机数作为输入,对上述第三签名数据进行验证运算,得到验证运算结果;再根据验证运算结果,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
在一个实施例中,在客户端和服务器生成第一私钥分量和第二私钥分量后,客户端和服务器还可以分别调用预设于客户端的第一MPC节点以第一私钥分量为输入,和预设于服务器的第二MPC节点以第二私钥分量作为输入,按照预设规则参与共同运算,以生成对应的第一备用私钥分量(可以记为sk1_b)和第二备用私钥分量(可以记为sk2_b)。其中,上述第一备用私钥分量可以保存于客户端,上述第二备用私钥分量可以保存于服务器。
在一个实施例中,在客户端和服务器所分别保存的私钥分量(即第一私钥分量和第二私钥分量)中的任意一个私钥分量丢失时,可以利用客户端和服务器各自保存的备用私钥分量(即第一备用私钥分量和第二备用私钥分量)通过密钥恢复,得到恢复后的第一私钥分量和恢复后的第二私钥分量。
在一个实施例中,具体的,可以参阅图15所示的,根据本申请实施方式提供的数据处理方法的一个实施例示意图,在生成并保存第一私钥分量和第二私钥分量后,所述方法还可以包括以下内容:客户端和服务器中任意一个侧所保存的私钥分量出现丢失时,可以生成密钥恢复请求;响应密钥恢复请求,客户端可以调用预设于客户端的第一MPC节点以保存于客户端的第一备用私钥分量作为输入数据,和服务器调用预设于服务器的第二MPC节点以保存于服务器的第二备用私钥分量作为输入数据,按照预设规则,进行函数运算,得到恢复后的第一私钥分量和恢复后的第二私钥分量;进而可以利用恢复后的第一私钥分量替换客户端所保存的之前的第一私钥分量,利用恢复后的第二私钥分量替换服务器所保存的之前的第二私钥分量。同时,还可以将与所丢失的私钥分量匹配的私钥分量进行销毁处理,从而完成对私钥分量的恢复。
本申请实施例还提供了一种数据处理方法,所述数据处理方法具体可以应用于服务器,其中,所述服务器保存有第二私钥分量,所述方法具体实施时,可以包括以下内容:
S1:响应身份验证请求,与客户端进行身份验证,其中,所述客户端保存有第一私钥分量;
S2:在身份验证通过的情况下,调用预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,和预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的。
本申请实施例还提供了一种数据处理方法,所述数据处理方法具体可以应用于包括服务器和客户端的***中,其中,所述客户端可以保存有第一私钥分量,所述服务器可以保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的,所述方法具体实施时可以包括以下内容:
S1:客户端响应交易数据处理请求,发起身份验证请求;
S2:客户端和服务器响应所述身份验证请求,进行身份验证;
S3:在身份验证通过的情况下,客户端调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和服务器调用预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
S4:客户端根据所述交易签名,进行交易数据处理。
本申请实施例还提供了一种数据处理装置,所述装置具体可以包括以下结构模块:
发起模块,具体可以用于响应交易数据处理请求,发起身份验证请求;
验证模块,具体可以用于响应所述身份验证请求,与服务器进行身份验证;
调用模块,具体可以用于在身份验证通过的情况下,调用预设于客户端的第一MPC节点以第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的;
处理模块,具体可以用于根据所述交易签名,进行交易数据处理。
尽管本申请内容中提到不同的具体实施例,但是,本申请并不局限于必须是行业标准或实施例所描述的情况等,某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、处理、输出、判断方式等的实施例,仍然可以属于本申请的可选实施方案范围之内。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
上述实施例阐明的装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的实施方式包括这些变形和变化而不脱离本申请。
Claims (20)
1.一种数据处理方法,所述数据处理方法应用于客户端,其特征在于,所述客户端保存有交易公钥,所述方法包括:
响应交易数据处理请求,发起身份验证请求;
响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,其中,所述第一服务器保存有第一私钥分量,所述第二服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的;
在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
根据所述交易签名,进行交易数据处理。
2.根据权利要求1所述的方法,其特征在于,响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,包括:
响应所述身份验证请求,生成第一随机数,并将所述第一随机数分别发送至第一服务器和第二服务器;
接收验证签名,其中,所述验证签名为第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以第一私钥分量和第二私钥分量作为输入数据,按照预设规则,对所述第一随机数进行签名处理得到的数据;
根据所述交易公钥、所述验证签名,进行身份验证。
3.根据权利要求1所述的方法,其特征在于,响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,包括:
响应所述身份验证请求,向所述第一服务器和/或所述第二服务器发送验证公钥获取请求;
接收验证公钥,其中,所述验证公钥为所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以第一私钥分量和第二私钥分量作为输入数据,按照预设规则,进行运算得到的;
根据所述交易公钥、所述验证公钥,进行身份验证。
4.根据权利要求1所述的方法,其特征在于,在响应交易数据处理请求,发起身份验证请求之前,所述方法还包括:
发送密钥生成请求;
接收第一公钥、第二公钥,其中,所述第一公钥为第一服务器响应所述密钥生成请求生成的,所述第一服务器还保存有与所述第一公钥匹配的第一私钥,所述第二公钥为第二服务器响应所述密钥生成请求生成的,所述第二服务器还保存有与所述第二公钥匹配的第二私钥;
生成第二随机数据,并将所述第二随机数发送至第一服务器和第二服务器;
接收第一签名数据、第二签名数据,其中,所述第一签名数据为第一服务器根据所述第一私钥对所述第二随机数进行签名处理得到的数据,所述第二签名数据为第二服务器根据所述第二私钥对所述第二随机数进行签名处理得到的数据;
根据所述第一公钥、所述第二公钥、所述第一签名数据、所述第二签名数据,进行身份确认;
在身份确认成功的情况下,向所述第一服务器和第二服务器发送身份确认指示,其中,所述第一服务器用于响应所述身份确认指示,生成并保存第一私钥分量,所述第二服务器用于响应所述身份确认指示,生成并保存第二私钥分量;
接收交易公钥,其中,所述交易公钥为所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述第一私钥分量和所述第二私钥分量作为输入数据,按照预设规则,进行运算得到的。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应更新请求,向所述第一服务器和所述第二服务器发送密钥更新指示,其中,所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述第一私钥分量和所述第二私钥分量作为输入数据,按照预设规则,进行运算得到的更新后的第一私钥分量、更新后的第二私钥分量。
6.根据权利要求5所述的方法,其特征在于,在所述第一服务器和所述第二服务器分别得到更新后的第一私钥分量、更新后的第二私钥分量后,所述方法还包括:
生成第三随机数,并将所述第三随机数发送至所述第一服务器和所述第二服务器;
接收第三签名数据,其中,所述第三签名数据为所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述更新后的第一私钥分量和所述更新后的第二私钥分量作为输入数据,按照预设规则,进行运算得到的;
根据所述交易公钥、所述第三签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
7.根据权利要求5所述的方法,其特征在于,在所述第一服务器和所述第二服务器分别得到更新后的第一私钥分量、更新后的第二私钥分量后,所述方法还包括:
接收更新后的交易公钥,其中,所述更新后的交易公钥为所述第一服务器调用第一MPC节点,和第二服务器调用第二MPC节点,分别以所述更新后的第一私钥分量和所述更新后的第二私钥分量作为输入数据,按照预设规则,进行运算得到的;
根据所述交易公钥、所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
8.一种数据处理方法,所述数据处理方法应用于第一服务器,其特征在于,所述第一服务器保存有第一私钥分量,所述方法包括:
响应身份验证请求,与第二服务器、客户端进行身份验证,其中,所述第二服务器保存有第二私钥分量,所述客户端保存有交易公钥,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的;
在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
9.一种数据处理方法,所述数据处理方法应用于包括第一服务器、第二服务器和客户端的***中,其特征在于,所述第一服务器保存有第一私钥分量,所述第二服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的,所述方法包括:
所述客户端响应交易数据处理请求,发起身份验证请求;
所述客户端、所述第一服务器、所述第二服务器响应所述身份验证请求,进行身份验证;
在身份验证通过的情况下,所述第一服务器调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和所述第二服务器调用预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
所述客户端根据所述交易签名,进行交易数据处理。
10.一种数据处理装置,其特征在于,包括:
发起模块,用于响应交易数据处理请求,发起身份验证请求;
验证模块,用于响应所述身份验证请求,与第一服务器、第二服务器进行身份验证,其中,所述第一服务器保存有第一私钥分量,所述第二服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的;
调用模块,用于在身份验证通过的情况下,调用预设于第一服务器的第一MPC节点以所述第一私钥分量作为输入数据,和预设于第二服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
处理模块,用于根据所述交易签名,进行交易数据处理。
11.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至7中任一项所述方法的步骤。
12.一种数据处理方法,所述数据处理方法应用于客户端,其特征在于,所述客户端保存有第一私钥分量,所述方法包括:
响应交易数据处理请求,发起身份验证请求;
响应所述身份验证请求,与服务器进行身份验证,其中,所述服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的;
在身份验证通过的情况下,调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
根据所述交易签名,进行交易数据处理。
13.根据权利要求12所述的方法,其特征在于,响应所述身份验证请求,与服务器进行身份验证,包括:
接收服务器响应所述身份验证请求反馈的加密后的第一随机数和第一签名数据,其中,所述服务器响应所述身份验证请求生成第一随机数,并利用第一传输公钥对所述第一随机数进行加密处理得到所述加密后的第一随机数,利用第二传输私钥对所述加密后的第一随机数进行签名处理,得到第一签名数据;
根据所述第一签名数据和第二传输公钥对所述服务器进行身份验证;
在对所述服务器身份验证通过的情况下,利用所述第一传输私钥对所述加密后的第一随机数进行解密处理,得到第一随机数,并利用所述第一传输私钥对所述第一随机数进行签名处理,得到第二签名数据;
向所述服务器发送所述第二签名数据;
在接收到确认信息的情况下,确定身份验证通过,其中,所述确认信息为所述服务器根据所述第二签名数据和所述第一传输公钥,确定对客户端身份验证通过的情况下所生成的信息。
14.根据权利要求12所述的方法,其特征在于,在响应交易数据处理请求,发起身份验证请求前,所述方法还包括:
向服务器发送密钥生成请求;
响应所述服务器基于所述密钥生成请求所发起的KYC验证请求,与所述服务器进行KYC验证;
在KYC验证通过的情况下,生成并保存第一私钥分量,其中,所述服务器在KYC验证通过的情况下,生成并保存第二私钥分量。
15.根据权利要求12所述的方法,其特征在于,所述方法还包括:
响应更新请求,调用预设于客户端的第一MPC节点以第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,进行运算得到更新后的第一私钥分量和更新后的第二私钥分量。
16.根据权利要求15所述的方法,其特征在于,在响应更新请求,调用预设于客户端的第一MPC节点以第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,进行运算得到更新后的第一私钥分量和更新后的第二私钥分量后,所述方法还包括:
调用预设于客户端的第一MPC节点以更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,进行运算,生成更新后的交易公钥;
根据所述交易公钥和所述更新后的交易公钥,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
17.根据权利要求15所述的方法,其特征在于,在响应更新请求,调用预设于客户端的第一MPC节点以第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,进行运算得到更新后的第一私钥分量和更新后的第二私钥分量后,所述方法还包括:
生成第三随机数;
调用预设于客户端的第一MPC节点以更新后的第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则,对所述第三随机数进行签名处理,得到第三签名数据;
根据所述交易公钥和所述第三签名数据,确定所述更新后的第一私钥分量、所述更新后的第二私钥分量是否满足要求。
18.一种数据处理方法,所述数据处理方法应用于服务器,其特征在于,所述服务器保存有第二私钥分量,所述方法包括:
响应身份验证请求,与客户端进行身份验证,其中,所述客户端保存有第一私钥分量,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的;
在身份验证通过的情况下,调用预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,和预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名。
19.一种数据处理方法,其特征在于,所述数据处理方法应用于包括服务器和客户端的***中,其中,所述客户端保存有第一私钥分量,所述服务器保存有第二私钥分量,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的,所述方法包括:
客户端响应交易数据处理请求,发起身份验证请求;
客户端和服务器响应所述身份验证请求,进行身份验证;
在身份验证通过的情况下,客户端调用预设于客户端的第一MPC节点以所述第一私钥分量作为输入数据,和服务器调用预设于服务器的第二MPC节点以所述第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名;
客户端根据所述交易签名,进行交易数据处理。
20.一种数据处理装置,其特征在于,所述装置包括:
发起模块,用于响应交易数据处理请求,发起身份验证请求;
验证模块,用于响应所述身份验证请求,与服务器进行身份验证;
调用模块,用于在身份验证通过的情况下,调用预设于客户端的第一MPC节点以第一私钥分量作为输入数据,和预设于服务器的第二MPC节点以第二私钥分量作为输入数据,按照预设规则进行预设的函数运算,得到运算结果作为交易签名,其中,所述第一私钥分量和所述第二私钥分量不是根据交易私钥生成的;
处理模块,用于根据所述交易签名,进行交易数据处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910133423.3A CN109861816A (zh) | 2019-02-22 | 2019-02-22 | 数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910133423.3A CN109861816A (zh) | 2019-02-22 | 2019-02-22 | 数据处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109861816A true CN109861816A (zh) | 2019-06-07 |
Family
ID=66898770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910133423.3A Pending CN109861816A (zh) | 2019-02-22 | 2019-02-22 | 数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109861816A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111490878A (zh) * | 2020-04-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 密钥生成方法、装置、设备及介质 |
WO2021114820A1 (zh) * | 2019-12-12 | 2021-06-17 | 支付宝(杭州)信息技术有限公司 | 多方联合进行风险识别的方法和装置 |
CN113676462A (zh) * | 2021-08-03 | 2021-11-19 | 北京海泰方圆科技股份有限公司 | 一种密钥分发、解密方法、装置、设备及介质 |
CN114666066A (zh) * | 2022-05-20 | 2022-06-24 | 杭州天谷信息科技有限公司 | 私钥的恢复方法和***及更新方法和*** |
WO2023070425A1 (zh) * | 2021-10-28 | 2023-05-04 | 京东方科技集团股份有限公司 | 设备身份验证方法及装置、电子设备、计算机可读介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223629A (zh) * | 2009-11-26 | 2011-10-19 | 中国人民解放军空军工程大学 | 一种移动自组网门限密钥分发方法 |
US20120011362A1 (en) * | 2010-07-08 | 2012-01-12 | Certicom Corp. | System and Method for Performing Device Authentication Using Key Agreement |
CN103856477A (zh) * | 2012-12-06 | 2014-06-11 | 阿里巴巴集团控股有限公司 | 一种可信计算***及相应的认证方法和设备 |
CN106506156A (zh) * | 2016-12-15 | 2017-03-15 | 北京三未信安科技发展有限公司 | 一种基于椭圆曲线的分布式门限签名方法 |
CN106533698A (zh) * | 2016-12-15 | 2017-03-22 | 北京三未信安科技发展有限公司 | 一种基于rsa的分布式门限签名方法与*** |
CN107302438A (zh) * | 2017-08-07 | 2017-10-27 | 收付宝科技有限公司 | 一种基于密钥更新的私钥保护方法、***及装置 |
US20170339138A1 (en) * | 2016-05-23 | 2017-11-23 | Pomian & Corella Llc | Multifactor privacy-enhanced remote identification using a rich credential |
CN107948189A (zh) * | 2017-12-19 | 2018-04-20 | 数安时代科技股份有限公司 | 非对称密码身份鉴别方法、装置、计算机设备及存储介质 |
CN107947913A (zh) * | 2017-11-15 | 2018-04-20 | 武汉大学 | 一种基于身份的匿名认证方法与*** |
CN108471352A (zh) * | 2018-03-16 | 2018-08-31 | 数安时代科技股份有限公司 | 基于分布式私钥的处理方法、***、计算机设备及存储介质 |
-
2019
- 2019-02-22 CN CN201910133423.3A patent/CN109861816A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223629A (zh) * | 2009-11-26 | 2011-10-19 | 中国人民解放军空军工程大学 | 一种移动自组网门限密钥分发方法 |
US20120011362A1 (en) * | 2010-07-08 | 2012-01-12 | Certicom Corp. | System and Method for Performing Device Authentication Using Key Agreement |
CN103856477A (zh) * | 2012-12-06 | 2014-06-11 | 阿里巴巴集团控股有限公司 | 一种可信计算***及相应的认证方法和设备 |
US20170339138A1 (en) * | 2016-05-23 | 2017-11-23 | Pomian & Corella Llc | Multifactor privacy-enhanced remote identification using a rich credential |
CN106506156A (zh) * | 2016-12-15 | 2017-03-15 | 北京三未信安科技发展有限公司 | 一种基于椭圆曲线的分布式门限签名方法 |
CN106533698A (zh) * | 2016-12-15 | 2017-03-22 | 北京三未信安科技发展有限公司 | 一种基于rsa的分布式门限签名方法与*** |
CN107302438A (zh) * | 2017-08-07 | 2017-10-27 | 收付宝科技有限公司 | 一种基于密钥更新的私钥保护方法、***及装置 |
CN107947913A (zh) * | 2017-11-15 | 2018-04-20 | 武汉大学 | 一种基于身份的匿名认证方法与*** |
CN107948189A (zh) * | 2017-12-19 | 2018-04-20 | 数安时代科技股份有限公司 | 非对称密码身份鉴别方法、装置、计算机设备及存储介质 |
CN108471352A (zh) * | 2018-03-16 | 2018-08-31 | 数安时代科技股份有限公司 | 基于分布式私钥的处理方法、***、计算机设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021114820A1 (zh) * | 2019-12-12 | 2021-06-17 | 支付宝(杭州)信息技术有限公司 | 多方联合进行风险识别的方法和装置 |
CN111490878A (zh) * | 2020-04-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 密钥生成方法、装置、设备及介质 |
CN113676462A (zh) * | 2021-08-03 | 2021-11-19 | 北京海泰方圆科技股份有限公司 | 一种密钥分发、解密方法、装置、设备及介质 |
CN113676462B (zh) * | 2021-08-03 | 2022-08-19 | 北京海泰方圆科技股份有限公司 | 一种密钥分发、解密方法、装置、设备及介质 |
WO2023070425A1 (zh) * | 2021-10-28 | 2023-05-04 | 京东方科技集团股份有限公司 | 设备身份验证方法及装置、电子设备、计算机可读介质 |
CN114666066A (zh) * | 2022-05-20 | 2022-06-24 | 杭州天谷信息科技有限公司 | 私钥的恢复方法和***及更新方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109872155A (zh) | 数据处理方法和装置 | |
CN109861816A (zh) | 数据处理方法和装置 | |
US20210258162A1 (en) | Methods for secure cryptogram generation | |
CN112232527B (zh) | 安全的分布式联邦深度学习方法 | |
WO2021114819A1 (zh) | 生成和执行智能合约交易的方法及装置 | |
KR101634158B1 (ko) | 일종의 신분 인증 및 공유키 생성방법 | |
KR20200066258A (ko) | 정보 보호를 위한 시스템 및 방법 | |
CN110380852A (zh) | 双向认证方法及通信*** | |
CN106790253A (zh) | 基于区块链的认证方法和装置 | |
CN106534160A (zh) | 基于区块链的身份认证方法及*** | |
CN108768633A (zh) | 实现区块链中信息共享的方法及装置 | |
CN1921395B (zh) | 提高网络软件安全性的方法 | |
CN104717067B (zh) | 基于非交互式零知识的安全验证方法、设备及*** | |
CN111160909B (zh) | 区块链供应链交易隐藏静态监管***及方法 | |
CN106779716A (zh) | 基于区块链账户地址的认证方法、装置及*** | |
CN109741068A (zh) | 网银跨行签约方法、装置及*** | |
WO2020253108A1 (zh) | 信息隐匿方法、装置、设备及存储介质 | |
CN111737715A (zh) | 一种去中心化的电子合同在线签署的方法及*** | |
CN106411950A (zh) | 基于区块链交易id的认证方法、装置及*** | |
US11102006B2 (en) | Blockchain intelligent security implementation | |
CN108599926A (zh) | 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证***和方法 | |
CN105847000A (zh) | 令牌产生方法以及基于该令牌产生方法的通信*** | |
CN113556339A (zh) | 支持异构tee算力节点交互的隐私计算方法 | |
CN113779606A (zh) | 一种降低隐私泄露风险的信息校验方法及*** | |
CN110046906A (zh) | 一种mpos机与服务器的双向认证交易方法及*** |
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: 40009461 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190607 |