发明内容
本申请所要解决的技术问题是保证用户私钥的安全性,从而保证用户在利用互联网完成相应的业务时的安全性,提供一种协同签名的密钥生成方法及装置。
第一方面,本申请实施例提供了一种协同签名的密钥生成方法,所述方法包括:
辅助设备接收第二通信方发送的签名请求,并基于所述签名请求生成第一私钥分量和第二私钥分量;所述辅助设备将所述第一私钥分量发送给所述第二通信方,以便于所述第二通信方将所述第一私钥分量发送给所述第一通信方;
所述辅助设备保存所述第二私钥分量;所述辅助设备存储的所述第二私钥分量被其它设备获取的概率小于或者等于预设概率阈值。
可选的,所述第一私钥分量为所述辅助设备生成的一个大于等于1且小于等于预设数值的随机数;所述第二私钥分量为所述辅助设备生成的一个大于等于1且小于等于所述预设数值随机数,所述预设数值是所述第一通信方和第二通信方预先协商、并由所述第二通信方发送给所述辅助设备的。
可选的,所述辅助设备将所述第一私钥分量发送给第二通信方之后,所述方法还包括:
所述辅助设备删除所述第一私钥分量。
可选的,所述辅助设备针对接收到的多个签名请求所生成的所述第二私钥分量相同。
可选的,所述辅助设备包括:
加密机。
第二方面,本申请实施例提供了一种协同签名的密钥生成方法,所述方法包括:
所述第二通信方将签名请求发送给辅助设备,以便于所述辅助设备基于所述签名请求生成第一私钥分量和第二私钥分量,并存储所述第二私钥分量;
所述第二通信方接收所述辅助设备发送的所述第一私钥分量;
所述第二通信方将所述第一私钥分量发送给所述第一通信方。
第三方面,本申请实施例提供了一种协同签名的密钥生成装置,所述装置包括:
第一接收单元,用于接收第二通信方发送的签名请求;所述签名请求是第一通信方发送给所述第二通信方的;
生成单元,用于基于所述签名请求生成第一私钥分量和第二私钥分量;
第一发送单元,用于将所述第一私钥分量发送给所述第二通信方,以便于所述第二通信方将所述第一私钥分量发送给所述第一通信方;
保存单元,用于保存所述第二私钥分量;所述辅助设备存储的所述第二私钥分量被其它设备获取的概率小于或者等于预设概率阈值。
可选的,所述第一私钥分量为所述辅助设备生成的一个大于等于1且小于等于预设数值的随机数;所述第二私钥分量为所述辅助设备生成的一个大于等于1且小于等于所述预设数值随机数,所述预设数值是所述第一通信方和第二通信方预先协商、并由所述第二通信方发送给所述辅助设备的。
可选的,所述装置还包括:
删除单元,用于删除所述第一私钥分量。
可选的,所述生成单元针对接收到的多个签名请求所生成的所述第二私钥分量相同。
第四方面,本申请实施例提供了一种协同签名的密钥生成装置,所述装置包括:
第二发送单元,用于将所述签名请求发送给辅助设备,以便于所述辅助设备基于所述签名请求生成第一私钥分量和第二私钥分量,并存储所述第二私钥分量;
第二接收单元,用于接收所述辅助设备发送的所述第一私钥分量;
第三发送单元,用于将所述第一私钥分量发送给所述第一通信方。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供了一种协同签名的密钥生成方法,具体地,当第一通信方向第二通信方发送签名请求,或者第二通信方向第一通信方发送签名请求时,第二通信方将该签名请求转发给辅助设备,辅助设备接收到该签名请求之后,生成第一私钥分量和第二私钥分量。而后,所述辅助设备保存第二私钥分量并将所述第一私钥分量发送给第二通信方,由第二通信方将第一私钥分量发送给第一通信方。可以理解的是,辅助设备可以利用所述第二私钥分量、第一通信方可以利用所述第一私钥分量对数据进行协同签名。由于辅助设备中存储的第二私钥分量被其它设备获取的概率小于或者等于预设阈值,基本上可以认为所述辅助设备中存储的第二私钥分量不会泄露,故而,利用本申请实施例的方案,第二私钥分量不会泄露,故而保证了用户私钥的安全性,从而保证用户在利用互联网完成相应的业务时的安全性。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的发明人经过研究发现,在第一通信方与第二通信方通信的过程时,为了保证用户私钥的安全性。在由第一通信方和第二通信方协同签名的签名方法中,第一通信方和第二通信方各对应一个私钥分量,第一通信方可以基于第一通信方对应的私钥分量、第二通信方可以基于第二通信方对应的私钥分量,共同对第一通信方和第二通信方通信过程中的相关数据进行签名。对于这种协同签名的方案,为保证用户私钥的安全性,可以由第一通信方生成自身的私钥分量,由第二通信方生成自身的私钥分量,这样一来,其它设备只有在既获取了第一通信方的私钥分量,又获取了第二通信方的私钥分量时,才能获取完整的私钥。而在实际应用中,其它设备是可能既获取第一通信方的私钥分量、又获取第二通信方的私钥分量的,故而采用这种方式,并不能有效保证了用户私钥的安全性,从而无法有效保证用户在利用互联网完成相应的业务时的安全性。
为了解决上述问题,本申请实施例提供了一种协同签名的密钥生成方法,具体地,当第一通信方向第二通信方发送签名请求,或者当第二通信方向第一通信方发送签名请求时,第二通信方将该签名请求转发给辅助设备,辅助设备接收到该签名请求之后,生成第一私钥分量和第二私钥分量。而后,所述辅助设备保存第二私钥分量并将所述第一私钥分量发送给第二通信方,由第二通信方将第一私钥分量发送给第一通信方。可以理解的是,辅助设备可以利用所述第二私钥分量、第一通信方可以利用所述第一私钥分量对数据进行协同签名。由于辅助设备中存储的第二私钥分量被其它设备获取的概率小于或者等于预设阈值,基本上可以认为所述辅助设备中存储的第二私钥分量不会泄露,故而,利用本申请实施例的方案,第二私钥分量不会泄露,故而保证了用户私钥的安全性,从而保证用户在利用互联网完成相应的业务时的安全性。
下面结合附图,详细说明本申请的各种非限制性实施方式。
示例性方法
参见图1,该图为本申请实施例中一种协同签名的密钥生成方法的流程示意图。
本申请实施例提供的协同签名的密钥生成方法,例如可以通过如下步骤 S101-S103实现。
S101:辅助设备接收第二通信方发送的签名请求,并基于所述签名请求生成第一私钥分量和第二私钥分量。
在本申请实施例中,所述第一通信方和所述第二通信方表示进行通信的双方。所述第一通信方例如可以为终端,所述终端可以为智能手机、平板电脑等移动终端,所述终端也可以为台式机等非移动终端,本申请实施例不做具体限定。所述第二通信方例如可以为服务器。
在本申请实施例中,当第一通信方与第二通信方进行通信时,往往需要对通信过程中涉及的相关信息进行签名。当需要对通信过程中涉及的相关信息进行签名时,第一通信方可以向第二通信方发送签名请求,第二通信方也可以向第一通信方发送签名请求。第二通信方接收到第一通信方发送的签名请求之后,或者第二通信方在向第一通信方发送签名请求时,可以将该签名请求发送给辅助设备,辅助设备接收到该签名请求之后,可以基于该签名请求生成第一私钥分量和第二私钥分量。
本申请实施例不具体限定所述辅助设备生成第一私钥分量和第二私钥分量的具体实现方式,作为一种示例,所述辅助设备可以生成一个大于等于1 且小于等于预设数值的第一随机数,并将该第一随机数确定为所述第一私钥分量;相应的,所述辅助设备可以生成一个大于等于1且小于等于所述预设数字的第二随机数,并将该第二随机数确定为所述第二私钥分量。
在本申请实施例中,所述预设数值可以是由所述第一通信方和第二通信方预先协商、并由所述第二通信方发送给所述辅助设备的。具体地,在基于 SM2算法的签名方式中,第一通信方和第二通信方可以共享SM2算法的椭圆曲线参数E(Fq)、G和n,椭圆曲线E为定义在有限域Fq上的椭圆曲线,G 为椭圆曲线E上n阶的基点。前述预设阈值可以根据n确定,例如,所述预设阈值可以等于n-1。
S102:所述辅助设备将所述第一私钥分量发送给所述第二通信方,以便于所述第二通信方将所述第一私钥分量发送给所述第一通信方。
辅助设备生成第一私钥分量和第二私钥分量之后,可以将第一私钥分量发送给第二通信方,以便于所述第二通信方将所述第一私钥分量发送给第一通信方,而后,第一通信方即可根据该第一私钥分量执行相应的签名计算。
S103:所述辅助设备保存所述第二私钥分量,所述辅助设备存储的所述第二私钥分量被其它设备获取的概率小于或者等于预设概率阈值。
在本申请实施例中,考虑到在实际应用中,第二通信方可能同时与多个第一通信方进行通信,因此,若由第二通信方自身执行与签名相关的计算,则导致第二通信方的计算量巨大,可能存在计算资源不足,影响正常通信的问题。故而在本申请实施例中,由辅助设备替代第二通信方执行与签名相关的计算,以降低第二通信方的计算量,从而保证所述第二通信方与第一通信方之间的正常通信。
可以理解的是,第二通信方执行与签名相关的计算,需要使用第二通信方对应的私钥分量,即第二私钥分量,而在本申请实施例中,由辅助设备替代第二通信方执行与签名相关的计算,故而在本申请实施例中,辅助设备可以保存所述第二私钥分量,以便利用该第二私钥分量执行与签名相关的计算。
在本申请实施例中,所述辅助设备存储的所述第二私钥分量被其它设备获取的概率小于或者等于预设概率阈值。所述预设概率阈值是一个很小的值,所述预设阈值的值无限接近于0。换言之,所述辅助设备存储的所述第二私钥分量被其它设备获取的概率几乎等于0,即所述辅助设备中存储的第二私钥分量几乎不会泄露。
在本申请实施例中,考虑到加密机具有特有的安全机制,加密机中存储的数据不可能被其它设备获取,故而在本申请实施例的一种实现方式中,所述辅助设备可以为加密机。需要说明的是,此处提及的加密机可以是通过国家商用密码主管部门鉴定并批准使用的国内自主开发的主机加密设备,也可以是其它主机加密设备,本申请实施例不做具体限定。
通过以上描述可知,本申请实施例提供的协同签名的密钥生成方法,当第一通信方向第二通信方发送签名请求时,第二通信方将该签名请求转发给辅助设备,辅助设备接收到该签名请求之后,生成第一私钥分量和第二私钥分量。而后,所述辅助设备保存第二私钥分量并将所述第一私钥分量发送给第二通信方,由第二通信方将第一私钥分量发送给第一通信方。可以理解的是,辅助设备可以利用所述第二私钥分量、第一通信方可以利用所述第一私钥分量对数据进行协同签名。由于辅助设备中存储的第二私钥分量被其它设备获取的概率小于或者等于预设阈值,基本上可以认为所述辅助设备中存储的第二私钥分量不会泄露,故而,利用本申请实施例的方案,第二私钥分量不会泄露,故而保证了用户私钥的安全性,从而保证用户在利用互联网完成相应的业务时的安全性。
在本申请实施例中,为了避免其它设备获取到完整的用户私钥,所述辅助设备将第一私钥分量发送给第二通信方之后,还可以删除该第一私钥分量。从而保证了辅助设备中不存在完整的用户私钥。更进一步地保证了用户私钥的安全性,从而保证用户在利用互联网完成相应的业务时的安全性。
如前文,辅助设备可以存储所述第二私钥分量,考虑到在实际应用中,辅助设备例如加密机的存储空间是有限的。而第二通信方可能需要与多个辅助设备进行多次通信,故而,第二通信方可能会接收到来自多个第一通信方的众多签名请求。可以理解的是,辅助设备对于一个签名请求,则需要保存与该签名请求对应的第二私钥分量。当签名请求的数量比较多时,辅助设备可能无法存储所有的签名请求各自对应的第二私钥分量。故而在本申请实施例的一种实现方式中,所述辅助设备针对接收到的每一个签名请求生成的第二私钥分量可以相同。这样一来,辅助设备即可只需存储一份第二私钥分量即可,从而解决了当签名请求的数量比较多时,辅助设备可能无法存储所有的签名请求各自对应的第二私钥分量的问题。
如上文所述,辅助设备可以利用所述第二私钥分量、第一通信方可以利用所述第一私钥分量对数据进行协同签名。本申请实施例不具体限定辅助设备可以利用所述第二私钥分量、第一通信方可以利用所述第一私钥分量对数据进行协同签名的方式,作为一种示例,所述辅助设备可以根据所述第二私钥分量进行计算,得到第一签名数据,而后通过第二通信方将第一签名数据发送给第一通信方,第一通信方基于第一签名数据以及第一私钥分量进行计算,得到最终的签名数据。
在本申请实施例中,辅助设备还可以基于第一私钥分量和第二私钥分量生成公钥,并将该公钥发送给第二通信方,第二通信方接收到该公钥之后,可以将该公钥发送给第一通信方。
基于以上实施例提供的方法,本申请实施例还提供了一种由第二通信方执行的密钥生成方法,以下结合附图介绍该方法。
参见图2,该图为本申请实施例提供的一种协同签名的密钥生成方法的流程示意图。
本申请实施例提供的协同签名的密钥生成方法,例如可以通过如下步骤 S201-S203实现。
S201:所述第二通信方将签名请求发送给辅助设备;以便于所述辅助设备基于所述签名请求生成第一私钥分量和第二私钥分量,并存储所述第二私钥分量。
需要说明的是,所述签名请求可以是第一通信方发送给第二通信方的,也可以是第二通信方发送给第一通信方的,本申请实施例不做具体限定。
S202:所述第二通信方接收所述辅助设备发送的所述第一私钥分量。
S203:所述第二通信方将所述第一私钥分量发送给所述第一通信方。
需要说明的是,图2提供的由第二通信方执行的协同签名的密钥生成方法,是以上由辅助设备执行的协同签名的密钥生成方法的第二通信方侧所执行的步骤。故而关于步骤S201-S203的具体实现,可以参考以上实施例中对于由第二通信方执行的协同签名的密钥生成方法的描述部分,此处不再详述。
通过以上描述可知,本申请实施例提供的协同签名的密钥生成方法,当第一通信方向第二通信方发送签名请求,或者当第二通信方向第一通信方发送签名请求时,第二通信方将该签名请求转发给辅助设备,辅助设备接收到该签名请求之后,生成第一私钥分量和第二私钥分量。而后,所述辅助设备保存第二私钥分量并将所述第一私钥分量发送给第二通信方,由第二通信方将第一私钥分量发送给第一通信方。可以理解的是,辅助设备可以利用所述第二私钥分量、第一通信方可以利用所述第一私钥分量对数据进行协同签名。由于辅助设备中存储的第二私钥分量被其它设备获取的概率小于或者等于预设阈值,基本上可以认为所述辅助设备中存储的第二私钥分量不会泄露,故而,利用本申请实施例的方案,第二私钥分量不会泄露,故而保证了用户私钥的安全性,从而保证用户在利用互联网完成相应的业务时的安全性。
示例性设备
基于以上实施例提供的协同签名的密钥生成方法,本申请实施例还提供了一种协同签名的密钥生成装置,以下结合附图介绍该装置。
参见图3,该图为本申请实施例提供的一种应用于辅助设备的协同签名的密钥生成装置的结构示意图。
图3所示的协同签名的密钥生成装置300,包括第一接收单元301、生成单元302、第一发送单元303和保存单元304。
第一接收单元301,用于接收第二通信方发送的签名请求;生成单元302,用于基于所述签名请求生成第一私钥分量和第二私钥分量;
第一发送单元303,用于将所述第一私钥分量发送给所述第二通信方,以便于所述第二通信方将所述第一私钥分量发送给所述第一通信方;
保存单元304,用于保存所述第二私钥分量;所述辅助设备存储的所述第二私钥分量被其它设备获取的概率小于或者等于预设概率阈值。
可选的,所述第一私钥分量为所述辅助设备生成的一个大于等于1且小于等于预设数值的随机数;所述第二私钥分量为所述辅助设备生成的一个大于等于1且小于等于所述预设数值随机数,所述预设数值是所述第一通信方和第二通信方预先协商、并由所述第二通信方发送给所述辅助设备的。
可选的,所述装置还包括:
删除单元,用于删除所述第一私钥分量。
可选的,所述生成单元针对接收到的多个签名请求所生成的所述第二私钥分量相同。
由于所述装置300是与以上方法实施例提供的由辅助设备执行的协同签名的密钥生成方法对应的装置,所述装置300的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置300的各个单元的具体实现,可以参考以上方法实施例对于由辅助设备执行的协同签名的密钥生成方法的描述部分,此处不再赘述。
通过以上描述可知,本申请实施例提供的协同签名的密钥生成装置,当第一通信方向第二通信方发送签名请求,或者当第二通信方向第一通信方发送签名请求时,第二通信方将该签名请求转发给辅助设备,辅助设备接收到该签名请求之后,生成第一私钥分量和第二私钥分量。而后,所述辅助设备保存第二私钥分量并将所述第一私钥分量发送给第二通信方,由第二通信方将第一私钥分量发送给第一通信方。可以理解的是,辅助设备可以利用所述第二私钥分量、第一通信方可以利用所述第一私钥分量对数据进行协同签名。由于辅助设备中存储的第二私钥分量被其它设备获取的概率小于或者等于预设阈值,基本上可以认为所述辅助设备中存储的第二私钥分量不会泄露,故而,利用本申请实施例的方案,第二私钥分量不会泄露,故而保证了用户私钥的安全性,从而保证用户在利用互联网完成相应的业务时的安全性。
参见图4,该图为本申请实施例提供的一种应用于第二通信方的协同签名的密钥生成装置的结构示意图。
图4所示的协同签名的密钥生成装置400,包括第二发送单元401、第二接收单元402和第三发送单元403。
第二发送单元401,用于将签名请求发送给辅助设备,以便于所述辅助设备基于所述签名请求生成第一私钥分量和第二私钥分量,并存储所述第二私钥分量;
第二接收单元402,用于接收所述辅助设备发送的所述第一私钥分量;
第三发送单元403,用于将所述第一私钥分量发送给所述第一通信方。
由于所述装置400是与以上方法实施例提供的由第二通信方执行的协同签名的密钥生成方法对应的装置,所述装置400的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置400的各个单元的具体实现,可以参考以上方法实施例对于由第二通信方执行的协同签名的密钥生成方法的描述部分,此处不再赘述。
通过以上描述可知,本申请实施例提供的协同签名的密钥生成装置,当第一通信方向第二通信方发送签名请求,或者当第二通信方向第一通信方发送签名请求时,第二通信方将该签名请求转发给辅助设备,辅助设备接收到该签名请求之后,生成第一私钥分量和第二私钥分量。而后,所述辅助设备保存第二私钥分量并将所述第一私钥分量发送给第二通信方,由第二通信方将第一私钥分量发送给第一通信方。可以理解的是,辅助设备可以利用所述第二私钥分量、第一通信方可以利用所述第一私钥分量对数据进行协同签名。由于辅助设备中存储的第二私钥分量被其它设备获取的概率小于或者等于预设阈值,基本上可以认为所述辅助设备中存储的第二私钥分量不会泄露,故而,利用本申请实施例的方案,第二私钥分量不会泄露,故而保证了用户私钥的安全性,从而保证用户在利用互联网完成相应的业务时的安全性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。