密钥协商方法、终端及服务器的制造方法_2

文档序号:9648868阅读:来源:国知局

[0045]所述终端标识码IDa是能够将终端与其他终端唯一的区分开的身份识别码。在密钥协商的过程中,服务器与终端之间是一对多的关系。也就是说,一台服务器能够同时与多个终端进行密钥的协商。为了在所述密钥协商的交互过程中唯一的区分不同的终端,在密钥协商过程的开始阶段,由所述终端将自身的终端标识码IDa发送给所述服务器。
[0046]S12,获取所述服务器发送的公开参数及服务器标识码,其中,所述公开参数包括系统特征值。
[0047]具体的,所述公开参数包括:系统特征值P、系数基数s及哈希函数H。
[0048]S13,根据所述公开参数及所述终端标识码计算终端私钥,根据所述公开参数及服务器标识码计算服务器公钥,并将加密后的服务器公钥发送给所述服务器。
[0049]在向所述服务器发送所述终端标识码IDa之后,所述终端会从所述服务器接收到所述服务器反馈的公开参数及服务器标识码ID?。所述公开参数是在密钥协商的过程中,所述终端及所述服务器上均留存有备份,并且二者留存的备份中取值相同的参数。具体的,所述公开参数包括:所述公开参数包括:系统特征值P、系数基数S及哈希函数H。
[0050]具体的,所述终端根据如下式(1)计算所述终端私钥:
[0051]Apri= [s+H(IDa)] 'XP (1)
[0052]其中,s是所述系数基数,P是所述系统特征值,IDa是所述终端标识码,A _是所述终端私钥,Η是所述哈希函数,而且,[s+H(IDa)] 1是所述第二终端系数。可以看出,所述第二终端系数可以通过所述公开参数、终端标识码计算得到。
[0053]进一步的,所述第二终端系数与后文中提及的第一终端系数的乘积是定值,并且该定制的取值不能为0。
[0054]需要说明的是,所述第二终端系数的计算方式并不固定,可以采用本实施例以外的其他方式计算,本发明对此不做限制。但是,无论采用何种计算方式,所述第二终端系数与所述第一终端系数的乘积必须保持是定值。
[0055]由于第一终端系数及第二终端系数的计算方式不固定,增加了第三方对密钥协商过程进行攻击的难度,从而提高了密钥协商过程的安全性。
[0056]所述终端接下来根据如下式(2)计算所述服务器公钥:
[0057]Mpub= [s+H(IDn)]XP (2)
[0058]其中,s是所述系数基数,P是所述系统特征值,10?是所述服务器标识码,Μ一是所述服务器公钥,而且,[s+H(IDj]是所述第一服务器系数。可见,所述第一服务器系数可以通过所述公开参数以及服务器标识码计算得到。
[0059]进一步的,所述第一服务器系数与后文中提及的第二服务器系数的乘积是定值。
[0060]由于所述服务器公钥是根据服务器上留存有备份的参数服务器标识码、系统特征值及系统基数计算得到的,因此,所述服务器对由终端计算得出的服务器公钥具有自我认证性。
[0061]所述加密后的终端公钥由如下式(3)给出:
[0062]M' pub=raXMpub (3)
[0063]其中,Μ' 一是加密后的服务器公钥,^是由所述终端生成的终端伪随机码,Μ一是所述服务器公钥。
[0064]采用终端伪随机码对所述服务器公钥进行加密,提高了密钥协商过程的健壮性,能够进一步避免密钥协商过程被第三方恶意攻击。
[0065]S14,获取所述服务器发送的加密后的终端公钥。
[0066]所述终端公钥是所述第一终端系数与系统特征值的乘积。所述加密后的终端公钥是服务器伪随机码与所述终端公钥的乘积。
[0067]S15,通过双线性映射,根据所述加密后的终端公钥,以及所述终端伪随机码计算终端验证值,所述终端验证值等于对所述加密后的终端公钥及所述终端私钥进行双线性映射得到的映射值与所述终端伪随机码的乘积。
[0068]具体的,所述终端验证值由如下式(4)给出:
[0069]Vea= e(A' pub, Apri)ra= e (r n.[s+H(IDa)].P, [s+H(IDa)] 1.P)ra= e (P, P) r arn
(4)
[0070]其中,Vea是所述终端验证值,λ' 一是加密后的终端公钥,Αρ?是终端私钥,e是所述双线性映射。具体的,所述双线性映射可以是tate对或者weil对中的一个。而且,上述式(4)的推导过程利用了映射e的双线性。
[0071]S16,通过比对所述终端验证值与服务器验证值,判定密钥协商的准确性。
[0072]本实施例通过在终端侧进行保密通信之前,运行密钥的即时计算,使得在保密通信中需要的密钥能够实时生成。
[0073]第二实施例
[0074]本实施例提供密钥协商方法的另一种技术方案。所述密钥协商方法由服务器执行。并且,本实施例给出的由服务器执行密钥协商方法与第一实施例提供的终端执行的密钥协商方法向配套,二者结合起来是一个完整的密钥协商过程。
[0075]参见图2,所述密钥协商方法包括:
[0076]S21,获取终端发送的终端标识码。
[0077]S22,将密钥协商过程中使用的公开参数,以及服务器标识码发送给终端,其中,所述公开参数包括系统特征值。
[0078]在接收到所述终端发送的终端标识码IDa之后,所述服务器将公开参数,以及服务器标识码ID?发送至所述终端。
[0079]具体的,如本发明第一实施例中所述,所述公开参数包括:系统特征值P、系数基数s及哈希函数H。
[0080]所述服务器标识码10?是所述服务器的唯一身份标识号码。
[0081]S23,获取所述终端发送的加密后的服务器公钥。
[0082]所述服务器公钥是第一服务器系数与所述系统特征值的乘积。所述加密后的服务器公钥是终端伪随机码与所述服务器公钥的乘积。
[0083]S24,根据所述公开参数及所述服务器标识码计算服务器私钥,根据所述公开参数及终端标识码计算终端公钥,并将加密后的终端公钥发送给所述终端。
[0084]具体的,所述服务器根据如下公式(5)计算服务器私钥:
[0085]Mpri= [s+H(IDj] JXP (5)
[0086]其中,s是所述系数基数,P是所述系统特征值,10?是所述服务器标识码,Mp?是所述服务器私钥,Η是所述哈希函数,[s+HdDj] 1是所述第二服务器系数。可以看出,所述第二服务器系数可以通过所述公开参数及所述服务器标识码计算得到。
[0087]进一步的,所述第二服务器系数与所述第一服务器系数之间的乘积是定值。
[0088]需要说明的是,所述第二服务器系数的计算方式并不固定,可以采用本实施例以外的其他方式计算,本发明对此不做限制。但是,无论采用何种计算方式,所述第二服务器系数与所述第一服务器系数的乘积必须保持是定值。
[0089]由于第一服务器系数及第二服务器系数的计算方式不固定,增加了第三方对密钥协商过程进行攻击的难度,从而提高了密钥协商过程的安全性。
[0090]所述服务器根据如下公式(6)计算所述终端公钥:
[0091]Apub= [s+H(IDa)]XP (6)
[0092]其中,s是所述系数基数,P是所述系统特征值,IDa是所述终端标识码,Apub是所述终端公钥,Η是所述哈希函数,[s+H(IDa)]是第一服务器系数。可以看出,所述第一终端系数可以通过所述公开参数及所述终端标识码计算得到。
[0093]进一步的,所述第一终端系数与所述第二终端系数之间的乘积是定值,并且,该定值的取值不能是0。
[0094]由于所述终端公钥是根据终端上留存有备份的参数服务器标识码、系统特征值及系统基数计算得到的,因此,所述终端对由服务器计算得出的终端公钥具有自我认证性。
[0095]所述加密后的终端公钥由如下式(7)给出:
[0096]k' pub=rnXApub (7)
[0097]其中,A' 一是加密后的终端公钥,r ?是由所述服务器生成的服务器伪随机码,A pub是所述终端公钥。
[0098]采用服务器伪随机码对所述终端公钥进行加密,提高了密钥协商过程的健壮性,能够起到避免密钥协商过程被第三方恶意攻击的作用。
[0099]S25,通过双线性映射,根据所述加密后的服务器公钥,以及所述服务器伪随机码计算服务器验证值,所述服务器验证值等于对所述加密后的服务器公钥及所述服务器私钥进行双线性映射得到的映射值与所述服务器伪随机码的乘积。
[0100]所述服务器验证值由如下公式⑶给出:
[0101]Ven=e(M' pub, Mpri) rn= e (r a.[s+H(IDn)].P, [s+H(I
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1