密钥更新方法、装置及终端的制作方法

文档序号:7802316阅读:345来源:国知局
密钥更新方法、装置及终端的制作方法
【专利摘要】本公开是关于一种密钥更新方法、装置及终端,属于计算机【技术领域】。所述方法包括:获取预存的第一私钥;根据所述第一私钥生成第二私钥和与所述第二私钥对应的第二公钥,所述第二私钥用于更新所述第一私钥且所述第二私钥的生效时刻早于所述第一私钥的失效时刻,所述第二公钥用于更新与所述第一私钥对应的第一公钥;触发对所述第二私钥以及所述第二公钥的存储操作。所述装置包括:密钥获取模块、密钥生成模块和操作触发模块。本公开解决了私钥和公钥的更新存在时间差,使得使用不对应的私钥和公钥进行通信造成验签失败和解密失败的问题,达到了保证正常通信的效果。
【专利说明】密钥更新方法、装置及终端
【技术领域】
[0001]本公开涉及计算机【技术领域】,特别涉及一种密钥更新方法、装置及终端。
【背景技术】
[0002]在互联网上传输敏感信息,通常使用签名验签和加密解密机制来保障信息的安全。签名验签和加密解密机制通常采用非对称加密算法,借助公私钥来完成。为了提高签名验签和加密解密机制的有效性,公私钥一般都具有有效期,当公私钥临近过期时,需要使用新的公私钥来更新临近过期的公私钥。
[0003]假设由第一终端生成公私钥,则第一终端将生成的私钥存储在数据库中,每一个私钥对应于数据库中的一条记录,该记录包括私钥内容、私钥的生效时刻和失效时刻,第二终端对与该私钥内容对应的公钥内容进行存储。当第一终端根据有效期检测到私钥快要过期时,生成新的公私钥;利用新的私钥内容替换记录中的私钥内容,并将新的公钥内容发送给第二终端;第二终端利用新的公钥内容替换原来的公钥内容。
[0004]发明人在实现本公开的过程中,发现相关技术中至少存在以下缺陷:
[0005]由于第一终端更新私钥和第二终端更新公钥的过程可能存在时间差,导致第一终端保存的私钥与第二终端保存的公钥不对应,而使用不对应的私钥和公钥进行通信会造成验签失败和解密失败,造成通信故障。

【发明内容】

[0006]为解决私钥和公钥的更新存在时间差,使得使用不对应的私钥和公钥进行通信造成验签失败和解密失败的问题,本公开提供了一种密钥更新方法、装置及终端。
[0007]根据本公开实施例的第一方面,提供一种密钥更新方法,包括:
[0008]获取预存的第一私钥;
[0009]根据所述第一私钥生成第二私钥和与所述第二私钥对应的第二公钥,所述第二私钥用于更新所述第一私钥且所述第二私钥的生效时刻早于所述第一私钥的失效时刻,所述第二公钥用于更新与所述第一私钥对应的第一公钥;
[0010]触发对所述第二私钥以及所述第二公钥的存储操作。
[0011]可选的,所述第二私钥用于签名操作;
[0012]所述触发对所述第二私钥以及所述第二公钥的存储操作,包括:
[0013]将所述第二公钥发送给第二终端;
[0014]接收所述第二终端发送的反馈消息,所述反馈消息用于指示所述第二终端成功存储了所述第二公钥;
[0015]对所述第二私钥进行存储。
[0016]可选的,还包括:
[0017]在当前时刻早于所述第一私钥的失效时刻且对所述第二私钥进行存储之前,使用所述第一私钥对待发送消息进行签名,得到第一签名信息;[0018]将所述第一签名信息发送给所述第二终端,由所述第二终端使用所述第二公钥对所述第一签名信息进行验签;在验签失败后,使用所述第一公钥对所述第一签名信息进行验签。
[0019]可选的,还包括:
[0020]在当前时刻晚于所述第二私钥的生效时刻且对所述第二私钥进行存储之后,使用所述第二私钥对待发送消息进行签名,得到第二签名信息;
[0021]将所述第二签名信息发送给所述第二终端,由所述第二终端使用所述第二公钥对所述第二签名信息进行验签。
[0022]可选的,所述第二私钥用于解密操作;
[0023]所述触发对所述第二私钥以及所述第二公钥的存储操作,包括:
[0024]对所述第二私钥进行存储;
[0025]将所述第二公钥发送给所述第二终端,由所述第二终端对所述第二公钥进行存储。
[0026]可选的,还包括:
[0027]在当前时刻晚于所述第二私钥的生效时刻且将所述第二公钥发送给所述第二终端之后,接收所述第二终端发送的加密消息;
[0028]使用所述第二私钥对所述加密消息进行解密;
[0029]若解密失败,则使用所述第一私钥对所述加密信息进行解密。
[0030]可选的,所述根据所述第一私钥生成第二私钥和与所述第二私钥对应的第二公钥,包括:
[0031]获取所述第一私钥的失效时刻和版本号;
[0032]设置所述第二私钥的生效时刻、版本号和私钥内容,得到所述第二私钥,所述第二私钥的生效时刻早于所述第一私钥的失效时刻且所述第二私钥的版本号高于所述第一私钥的版本号;
[0033]生成与所述第二私钥对应的所述第二公钥。
[0034]根据本公开实施例的第二方面,提供一种密钥更新装置,包括:
[0035]密钥获取模块,用于获取预存的第一私钥;
[0036]密钥生成模块,用于根据所述密钥获取模块获取到的所述第一私钥生成第二私钥和与所述第二私钥对应的第二公钥,所述第二私钥用于更新所述第一私钥且所述第二私钥的生效时刻早于所述第一私钥的失效时刻,所述第二公钥用于更新与所述第一私钥对应的第一公钥;
[0037]操作触发模块,用于触发对所述密钥生成模块生成的所述第二私钥以及所述第二公钥的存储操作。
[0038]可选的,所述第二私钥用于签名操作;
[0039]所述操作触发模块,包括:
[0040]第一发送单元,用于将所述第二公钥发送给第二终端;
[0041]消息接收单元,用于接收所述第二终端发送的反馈消息,所述反馈消息用于指示所述第二终端成功存储了所述第一发送单元发送的所述第二公钥;
[0042]第一存储单元,用于对所述第二私钥进行存储。[0043]可选的,还包括:
[0044]第一签名模块,用于在当前时刻早于所述第一私钥的失效时刻且所述第一存储单元对所述第二私钥进行存储之前,使用所述第一私钥对待发送消息进行签名,得到第一签名信息;
[0045]第一验签模块,用于将所述第一签名模块得到的所述第一签名信息发送给所述第二终端,由所述第二终端使用所述第二公钥对所述第一签名信息进行验签;在验签失败后,使用所述第一公钥对所述第一签名信息进行验签。
[0046]可选的,还包括:
[0047]第二签名模块,用于在当前时刻晚于所述第二私钥的生效时刻且所述第一存储单元对所述第二私钥进行存储之后,使用所述第二私钥对待发送消息进行签名,得到第二签名信息;
[0048]第二验签模块,用于将所述第二签名模块得到的所述第二签名信息发送给所述第二终端,由所述第二终端使用所述第二公钥对所述第二签名信息进行验签。
[0049]可选的,所述第二私钥用于解密操作;
[0050]所述操作触发模块,包括:
[0051]第二存储单元,用于对所述第二私钥进行存储;
[0052]第二发送单元,用于将所述第二公钥发送给所述第二终端,由所述第二终端对所述第二公钥进行存储。
[0053]可选的,还包括:
[0054]消息接收模块,用于在当前时刻晚于所述第二私钥的生效时刻且所述第二发送单元将所述第二公钥发送给所述第二终端之后,接收所述第二终端发送的加密消息;
[0055]第一解密模块,用于使用所述第二私钥对所述消息接收模块接收到的所述加密消息进行解密;
[0056]第二解密模块,用于若所述第一解密模块解密失败,则使用所述第一私钥对所述加密信息进行解密。
[0057]可选的,所述密钥生成模块,包括:
[0058]信息获取单元,用于获取所述第一私钥的失效时刻和版本号;
[0059]私钥生成单元,用于设置所述第二私钥的生效时刻、版本号和私钥内容,得到所述第二私钥,所述第二私钥的生效时刻早于所述信息获取单元获取到的所述第一私钥的失效时刻且所述第二私钥的版本号高于所述信息获取单元获取到的所述第一私钥的版本号;
[0060]公钥生成单元,用于生成与所述私钥生成单元得到的所述第二私钥对应的所述第二公钥。
[0061]根据本公开实施例的第三方面,提供一种终端,包括:
[0062]处理器;
[0063]用于存储处理器可执行指令的存储器;
[0064]其中,所述处理器被配置为:
[0065]获取预存的第一私钥;
[0066]根据所述第一私钥生成第二私钥和与所述第二私钥对应的第二公钥,所述第二私钥用于更新所述第一私钥且所述第二私钥的生效时刻早于所述第一私钥的失效时刻,所述第二公钥用于更新与所述第一私钥对应的第一公钥;
[0067]触发对所述第二私钥以及所述第二公钥的存储操作。
[0068]本公开的实施例提供的技术方案可以包括以下有益效果:
[0069]通过根据第一私钥生成第二私钥和与该第二私钥对应的第二公钥,第二私钥用于更新第一私钥且第二私钥的生效时刻早于第一私钥的失效时刻,第二公钥用于更新与该第一私钥对应的第一公钥;触发对第二私钥以及第二公钥的存储操作,由于第二私钥的生效时刻早于第一私钥的失效时刻,因此,存在第二私钥和第一私钥同时有效的时间段,若在该时间段内还未成功将第一公钥替换为第二公钥,则第一公钥与第一私钥对应;若在该时间段内成功将第一公钥替换为第二公钥,则第二公钥与第二私钥对应,使得总是存在对应的私钥和公钥,解决了私钥和公钥的更新存在时间差,使得使用不对应的私钥和公钥进行通信造成验签失败和解密失败的问题,达到了保证正常通信的效果。
[0070]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
【专利附图】

【附图说明】
[0071]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
[0072]图1是根据一示例性实施例示出的一种密钥更新方法的流程图。
[0073]图2是根据另一示例性实施例示出的一种密钥更新方法的流程图。
[0074]图3是根据另一示例性实施例示出的一种密钥更新方法的流程图。
[0075]图4是根据一示例性实施例示出的一种密钥更新装置的框图。
[0076]图5是根据再一示例性实施例示出的一种密钥更新装置的框图。
[0077]图6是根据再一示例性实施例示出的一种密钥更新装置的框图。
[0078]图7是根据一示例性实施例示出的一种密钥更新装置的框图。
【具体实施方式】
[0079]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0080]图1是根据一示例性实施例示出的一种密钥更新方法的流程图,如图1所示,密钥更新方法应用于第一终端中,包括以下步骤。
[0081]在步骤101中,获取预存的第一私钥。
[0082]第一私钥是第一终端中预存的且在当前时刻处于有效状态的私钥。
[0083]在步骤102中,根据第一私钥生成第二私钥和与该第二私钥对应的第二公钥,该第二私钥用于更新第一私钥且第二私钥的生效时刻早于第一私钥的失效时刻,该第二公钥用于更新与第一私钥对应的第一公钥。
[0084]第一终端根据第一私钥的失效时刻确定第二私钥的生效时刻,使得第二私钥的生效时刻早于第一私钥的失效时刻,得到第二私钥,再根据第二私钥生成与该第二私钥对应的第二公钥。
[0085]在步骤103中,触发对第二私钥以及第二公钥的存储操作。
[0086]第一终端对生成的第二私钥进行存储,并触发第二终端对第二公钥进行存储。
[0087]综上所述,本公开提供的密钥更新方法,通过根据第一私钥生成第二私钥和与该第二私钥对应的第二公钥,第二私钥用于更新第一私钥且第二私钥的生效时刻早于第一私钥的失效时刻,第二公钥用于更新与该第一私钥对应的第一公钥;触发对第二私钥以及第二公钥的存储操作,由于第二私钥的生效时刻早于第一私钥的失效时刻,因此,存在第二私钥和第一私钥同时有效的时间段,若在该时间段内还未成功将第一公钥替换为第二公钥,则第一公钥与第一私钥对应;若在该时间段内成功将第一公钥替换为第二公钥,则第二公钥与第二私钥对应,使得总是存在对应的私钥和公钥,解决了私钥和公钥的更新存在时间差,使得使用不对应的私钥和公钥进行通信造成验签失败和解密失败的问题,达到了保证正常通信的效果。
[0088]图2是根据另一示例性实施例示出的一种密钥更新方法的流程图,如图2所示,密钥更新方法应用于第一终端中且第二私钥用于签名操作,包括如下步骤。
[0089]在步骤201中,获取预存的第一私钥。
[0090]第一私钥是第一终端中预存的且在当前时刻处于有效状态的私钥。其中,第一私钥包括私钥名称、类型、版本号、私钥内容、生效时刻、失效时刻和创建时刻等等。类型包括私钥类型和公钥类型。
[0091]第一终端可以每隔预定时间获取第一私钥的失效时刻,在检测到获取时刻与失效时刻之间的差值小于预定阈值时,确定第一私钥将要过期,此时可以获取第一私钥。当然,还可以通过其它方式触发第一终端获取第一私钥,本实施例不对第一终端获取第一私钥的触发方式作限定。
[0092]在步骤202中,根据第一私钥生成第二私钥和与该第二私钥对应的第二公钥,该第二私钥用于更新第一私钥且第二私钥的生效时刻早于第一私钥的失效时刻,该第二公钥用于更新与第一私钥对应的第一公钥。
[0093]为了避免私钥和公钥的更新存在时间差,使得使用不对应的私钥和公钥进行通信造成验签失败的问题,第一终端为第二私钥和第一私钥设置同时有效的时间段,若在该时间段内还未成功将第一公钥替换为第二公钥,则第一公钥与第一私钥对应;若在该时间段内成功将第一公钥替换为第二公钥,则第二公钥与第二私钥对应,由于总是存在对应的私钥和公钥,保证了正常的通信。
[0094]因此,根据第一私钥生成第二私钥和与第二私钥对应的第二公钥,包括:
[0095]I)获取第一私钥的失效时刻和版本号;
[0096]2)设置第二私钥的生效时刻、版本号和私钥内容,得到第二私钥,该第二私钥的生效时刻早于第一私钥的失效时刻且第二私钥的版本号高于第一私钥的版本号;
[0097]3)生成与第二私钥对应的第二公钥。
[0098]在确定第二私钥的生效时刻时,第一终端可以基于第一私钥的失效时刻,向前定位预定时长,得到第二私钥的生效时刻。比如,第一私钥的失效时刻是2014年4月31日O时O分,预定时长是10日,则第一终端可以确定第二私钥的生效时刻是2014年4月21日O时O分。[0099]在确定第二私钥的版本号时,第一终端可以基于第一私钥的版本号增加预定数值,得到第二私钥的版本号。比如,第一私钥的版本号是1,预定数值是1,则第一终端可以确定第二私钥的版本号是2。
[0100]第一终端还可以设置第二私钥的私钥内容,该私钥内容用于对消息的摘要进行签名。进一步地,第一终端还可以设置第二私钥的失效时刻和创建时刻,得到第二私钥。其中,第一终端设置私钥内容、失效时刻和创建时刻可以依据各种成熟的方法,此处不作赘述。
[0101]在生成第二私钥后,第一终端还可以根据第二私钥生成与第二私钥对应的第二公钥。可选的,第二公钥可以包括公钥内容和版本号。
[0102]在步骤203中,若第二私钥用于签名操作,则将第二公钥发送给第二终端。
[0103]若第二私钥用于签名操作,则第一终端需要将第二公钥发送给第二终端,第二终端将该第二公钥对应于第一终端进行存储。其中,签名操作是指第一终端使用私钥对消息的摘要进行签名,得到签名信息;将消息和签名信息发送给第二终端;第二终端使用公钥对签名信息进行解密,得到摘要;检测解密得到的摘要与从消息中提取的摘要是否相同;若检测出解密得到的摘要与从消息中提取的摘要相同,则确定验签成功。
[0104]在步骤204中,接收第二终端发送的反馈消息,该反馈消息用于指示第二终端成功存储了第二公钥。
[0105]第二终端在成功存储了第二公钥后,生成用于指示成功存储了第二公钥的反馈消息,将该反馈消息发送给第一终端,第一终端接收该反馈消息。
[0106]在步骤205中,对第二私钥进行存储。
[0107]第一终端根据反馈消息确定第二终端已经成功存储了第二公钥,即第二终端可以对使用第二私钥进行签名的签名信息进行验签,因此,第一终端可以对第二私钥进行存储,并在后续使用第二私钥进行签名。
[0108]请参考表1,表1中示出了第一私钥和第二私钥的存储内容,具体如下:
[0109]表1
[0110]
【权利要求】
1.一种密钥更新方法,用于第一终端中,其特征在于,包括: 获取预存的第一私钥; 根据所述第一私钥生成第二私钥和与所述第二私钥对应的第二公钥,所述第二私钥用于更新所述第一私钥且所述第二私钥的生效时刻早于所述第一私钥的失效时刻,所述第二公钥用于更新与所述第一私钥对应的第一公钥; 触发对所述第二私钥以及所述第二公钥的存储操作。
2.根据权利要求1所述的方法,其特征在于,所述第二私钥用于签名操作; 所述触发对所述第二私钥以及所述第二公钥的存储操作,包括: 将所述第二公钥发送给第二终端; 接收所述第二终端发送的反馈消息,所述反馈消息用于指示所述第二终端成功存储了所述第二公钥; 对所述第二私钥进行存储。
3.根据权利要求2所述的方法,其特征在于,还包括: 在当前时刻早于所述第一私钥的失效时刻且对所述第二私钥进行存储之前,使用所述第一私钥对待发送 消息进行签名,得到第一签名信息; 将所述第一签名信息发送给所述第二终端,由所述第二终端使用所述第二公钥对所述第一签名信息进行验签;在验签失败后,使用所述第一公钥对所述第一签名信息进行验签。
4.根据权利要求2所述的方法,其特征在于,还包括: 在当前时刻晚于所述第二私钥的生效时刻且对所述第二私钥进行存储之后,使用所述第二私钥对待发送消息进行签名,得到第二签名信息; 将所述第二签名信息发送给所述第二终端,由所述第二终端使用所述第二公钥对所述第二签名信息进行验签。
5.根据权利要求1所述的方法,其特征在于,所述第二私钥用于解密操作; 所述触发对所述第二私钥以及所述第二公钥的存储操作,包括: 对所述第二私钥进行存储; 将所述第二公钥发送给所述第二终端,由所述第二终端对所述第二公钥进行存储。
6.根据权利要求5所述的方法,其特征在于,还包括: 在当前时刻晚于所述第二私钥的生效时刻且将所述第二公钥发送给所述第二终端之后,接收所述第二终端发送的加密消息; 使用所述第二私钥对所述加密消息进行解密; 若解密失败,则使用所述第一私钥对所述加密信息进行解密。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述根据所述第一私钥生成第二私钥和与所述第二私钥对应的第二公钥,包括: 获取所述第一私钥的失效时刻和版本号; 设置所述第二私钥的生效时刻、版本号和私钥内容,得到所述第二私钥,所述第二私钥的生效时刻早于所述第一私钥的失效时刻且所述第二私钥的版本号高于所述第一私钥的版本号; 生成与所述第二私钥对应的所述第二公钥。
8.—种密钥更新装置,用于第一终端中,其特征在于,包括:密钥获取模块,用于获取预存的第一私钥; 密钥生成模块,用于根据所述密钥获取模块获取到的所述第一私钥生成第二私钥和与所述第二私钥对应的第二公钥,所述第二私钥用于更新所述第一私钥且所述第二私钥的生效时刻早于所述第一私钥的失效时刻,所述第二公钥用于更新与所述第一私钥对应的第一公钥; 操作触发模块,用于触发对所述密钥生成模块生成的所述第二私钥以及所述第二公钥的存储操作。
9.根据权利要求8所述的装置,其特征在于,所述第二私钥用于签名操作; 所述操作触发模块,包括: 第一发送单元,用于将所述第二公钥发送给第二终端; 消息接收单元,用于接收所述第二终端发送的反馈消息,所述反馈消息用于指示所述第二终端成功存储了所述第一发送单元发送的所述第二公钥; 第一存储单元,用于对所述第二私钥进行存储。
10.根据权利要求9所述的装置,其特征在于,还包括: 第一签名模块,用于在当前时刻早于所述第一私钥的失效时刻且所述第一存储单元对所述第二私钥进行存储之前,使用所述第一私钥对待发送消息进行签名,得到第一签名信息; 第一验签模块,用于将所述第一签名模块得到的所述第一签名信息发送给所述第二终端,由所述第二终端使用所述第二公钥对所述第一签名信息进行验签;在验签失败后,使用所述第一公钥对所述第一签名信息进行验签。
11.根据权利要求9所述的装置,其特征在于,还包括: 第二签名模块,用于在当前时刻晚于所述第二私钥的生效时刻且所述第一存储单元对所述第二私钥进行存储之后,使用所述第二私钥对待发送消息进行签名,得到第二签名信息; 第二验签模块,用于将所述第二签名模块得到的所述第二签名信息发送给所述第二终端,由所述第二终端使用所述第二公钥对所述第二签名信息进行验签。
12.根据权利要求8所述的装置,其特征在于,所述第二私钥用于解密操作; 所述操作触发模块,包括: 第二存储单元,用于对所述第二私钥进行存储; 第二发送单元,用于将所述第二公钥发送给所述第二终端,由所述第二终端对所述第二公钥进行存储。
13.根据权利要求12所述的装置,其特征在于,还包括: 消息接收模块,用于在当前时刻晚于所述第二私钥的生效时刻且所述第二发送单元将所述第二公钥发送给所述第二终端之后,接收所述第二终端发送的加密消息; 第一解密模块,用于使用所述第二私钥对所述消息接收模块接收到的所述加密消息进行解密; 第二解密模块,用于若所述第一解密模块解密失败,则使用所述第一私钥对所述加密信息进行解密。
14.根据权利要求8至13任一项所述的装置,其特征在于,所述密钥生成模块,包括:信息获取单元,用于获取所述第一私钥的失效时刻和版本号; 私钥生成单元,用于设置所述第二私钥的生效时刻、版本号和私钥内容,得到所述第二私钥,所述第二私钥的生效时刻早于所述信息获取单元获取到的所述第一私钥的失效时刻且所述第二私钥的版本号高于所述信息获取单元获取到的所述第一私钥的版本号; 公钥生成单元,用于生成与所述私钥生成单元得到的所述第二私钥对应的所述第二公钥。
15.一种终端,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 获取预存的第一私钥; 根据所述第一私钥生成第二私钥和与所述第二私钥对应的第二公钥,所述第二私钥用于更新所述第一私钥且所述第二私钥的生效时刻早于所述第一私钥的失效时刻,所述第二公钥用于更新与所述第一私钥对应的第一公钥; 触发对所述第二私钥 以及所述第二公钥的存储操作。
【文档编号】H04L9/08GK104009837SQ201410174213
【公开日】2014年8月27日 申请日期:2014年4月28日 优先权日:2014年4月28日
【发明者】张明冬, 尚敏, 秦韬 申请人:小米科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1