一种基于口令的轻量级密钥协商方法与流程

文档序号:12182261阅读:371来源:国知局
一种基于口令的轻量级密钥协商方法与流程

本发明涉及信息安全领域,具体将涉及一种基于口令的轻量级密钥协商方法。



背景技术:

密钥协商是一种两方或者多方通过公开网络协商共享密钥的方法,协议的执行需要参与各方共同协作。协商之前,通常每方都保有一些秘密信息。其中,口令就是一种常用的秘密信息。口令的长度通常较短,一般四至八个数字或字母组成,容易记忆,但保密的强度低,容易通过穷举可能的口令组合被猜测到。所以,在实际会话之前,需要先通过口令协商出会话密钥。由于密钥通常位数较长,很难通过穷举得到,从而提高会话的保密强度。

发明专利申请,申请号:201210349976.0中公开了一种基于数字证书的无线网络轻量级认证密钥协商协议,该协议涉及一种可用于无线网络的轻量级认证密钥协商协议,基于“证书私钥-保护密钥”双重认证系统和“保护密钥”动态协商机制,结合公钥密码与共享动态保护密钥对用户身份进行双重认证,用户通过交换证书及私钥签名证明会话持有及私钥拥有性,进行第一重认证,通过共享保护密钥进行第二重认证。协议利用上次会话结束后双方共享保护密钥保护重要参数的交换,并使用本次会话新计算的保护密钥确认密钥的正确性,每轮通信在交换参数的同时即可验证其正确性。密钥组的协商及参数交换均采用简单的位运算,并通过Finished消息完成密钥更新的确认。协议设置会话ID来动态选择是否利用已共享的旧参数计算本次会话密钥,在保证安全高效的同时增强协议的灵活性。

发明专利申请,申请号:201080008115.5中公开了一种基于身份的认证密钥协商协议。协议第一方和第二方之间的密钥协商协议从第一方的角度包括以下步骤。向该第二方发送加密的第一随机密钥分量,所述第一随机密钥分量根据基于身份的加密操作使用该第二方的公钥来加密。从该第二方接收加密的随机密钥分量对,所述加密的随机密钥分量对根据第一随机密钥分量和在该第二方处计算的第二随机密钥分量形成,并且在该第二方处根据基于身份的加密操作使用该第一方的公钥来加密。以加密的形式向该第二方发送所述第二随机密钥分量,所述第二随机密钥分量使用该第二方的公钥来加密。在该第一方和该第二方处可根据所述第一随机密钥分量和所述第二随机密钥分量来计算用于该第一方和该第二方之间的随后通信的密钥。

发明专利申请,申请号:201310226205.7中公开了一种基于量子密钥分发的无线局域网 安全通信方法,该发明提供一种基于量子密钥分发的无线局域网安全通信方法,所述方法包括以下步骤:(1)进行基于量子密钥的身份认证;(2)进行量子密钥协商;(3)开始加密。该发明的方法避免了伪造接入点和申请者进行信息交换,浪费系统资源,或造成拒绝服务攻击;实现申请者和认证服务器,以及申请者和认证者之间的双向认证,身份认证的安全性大大提高;密钥协商中的消息验证采用身份认证中产生的密钥进行保护,可防范中间人篡改等攻击;基于量子技术的密钥协商,其安全性由物理定律保证,具有不可破解性,可抵御计算能力强的量子计算机的破译,提升了整个系统的安全性。

发明专利申请,申请号:201210304387.0中公开了一种无线体域网对称密钥协商方法。该发明的无线体域网对称密钥协商方法,设由节点A向B发起承诺,特征在于,节点A在时刻进行生理信号采集,设为;然后根据产生共享密钥,并将以隐藏的形式向节点B传送数据;节点B提取时刻相同的生理信号,经去噪声处理,并验证取值是否正确;如正确,则求出协商密钥;如不正确,则在时刻附近获取生理信号,继续求取密钥。

上述专利申请分别以证书、用户身份、量子、生理信号等为基础,在用户之间协商会话密钥,密钥协商过程中,节点大部分进行数据传送,增加了密钥协商过程中的能量消耗。密钥协商与信号的熵相关,没有良好的防攻击性能。



技术实现要素:

为解决上述现有技术中的不足,本发明的目的是提供一种基于口令的轻量级密钥协商方法,本发明的密钥协商方法,避免了对时间必须精准同步的要求,解决了同步信号频繁广播的高能耗问题;在密钥协商过程中,节点大部分只是进行数据的处理,不进行数据传送,有效地降低了密钥协商过程中的能量消耗。本方法协商与信号的熵无关、采用弱时间同步方法、采用预置密钥技术,具有良好的防攻击性能。

本发明的目的是采用下述技术方案实现的:

本发明提供一种基于口令的轻量级密钥协商方法,包括正向传递和反向传递两轮执行,其改进之处在于,所述密钥协商方法包括以下步骤:

A.密钥协商初始化;

B.第一轮正向传递,数据由用户U1向用户Un传递,然后用户Un将数据发给可信服务器S;

C.第二轮反向传递,数据由可信服务器S验证后传递给用户Un,然后数据由用户Un向传U1递。

进一步地,所述步骤A包括下述步骤:

A1.所述密钥协商采用密钥协商协议,所述密钥协商协议包括n个用户U1,…,Un和一个可信服务器S;设用户U1为密钥协商的发起者,用户Un为最后一个用户并与可信服务器S相邻;

A2.可信服务器S向N个用户U1,…,Un公开自己的公钥Ppub,保留自己的私钥Ppri;N个用户U1,…,Un可向可信服务器S发送加密信息,服务器用自己的私钥解密;N个用户U1,…,Un两两之间未共享任何信息;

A3.每个用户Ui与可信服务器S之间共享一个口令pwi,其中i=1,…,n;

A4.定义p阶有限循环群G,任取p阶有限循环群G上一个元素g;

A5.定义三个哈希函数h1,h2,h3;其中哈希函数h1用于生成会话标识,哈希函数h2用于进行正确性验证,哈希函数h3用于生成会话密钥;l1、l2、l3均表示固定的长度;*表示任意长度,l1、l2、l3根据实际需要选取512bits,1024bits。

进一步地,所述步骤B包括下述步骤:

B1.对于密钥协商发起者用户U1:计算会话标识sid=h1(U1,…,Un),然后选择两个随机数x1,R1∈Zp,Zp表示以p为模的素数域;计算并把(sid,U1,…,Un,N1,M1)发给下一个用户U2;x1表示是以p为模的素数域Zp中的随机数,E代表加密,是用Ppub为密钥进行加密,N1、M1均为计算的中间结果;

B2.对于用户Ui,i=1,…,n-1:选择两个随机数xi,Ri,∈Zp,计算并把(sid,U1,…,Un,N1,M1,…,Ni,Mi)发给下一个用户Ui+1

B3.对于用户Un:与其他n-1个用户操作相同,把最终的(sid,U1,…,Un,N1,M1,…,Nn,Mn)发送给可信服务器S。

进一步地,所述步骤C包括下述步骤:

C1.对于可信服务器S:收到(sid,U1,…,Un,N1,M1,…,Nn,Mn)后,所述可信服务器S用自己的私钥解密得到会话标识sid到用户U1,以及随机数R1,首先验证会话标识sid=h1(U1,…,Un);然后检查是否等于收到的N1与会话标识sid与用户U1共享的pw1相异或的结果;若相等,所述可信服务器S继续对N2,M2,…,Nn,Mn做相同检查;若有一项失败,则程序终止;所有检查都通过后,所述可信服务器S确认(sid,U1,…,Un,N1,M1,…,Nn,Mn)合法;并选择随机数s∈Zp,计算i=2,…,n,M′i=h2(sid||Ui||Ri||N),i=1,…,n,将生成的发送给用户Un

C2.对于用户Un:收到后,首先验证会话标识sid=h1(U1,…,Un),依次计算和哈希函数h2(sid||Un||Rn||N)并验证哈希函数h2(sid||Un||Rn||N)=M′n;若验证通过,依次计算会话密钥K=h3(sid||N)和i=1,…,n,将发送给用户Un-1;若验证失败,则发送错误信息;

C3.对于用户Ui,i=2,…,n-1:收到后,首先验证会话标识sid=h1(U1,…,Un),依次计算和哈希函数h2(sid||Ui||Ri||N)并验证哈希函数若验证通过,依次计算会话密钥K=h3(sid||N)和将发送给用户Ui-1;如验证失败,则发送错误信息;

C4.对于用户U1:收到后,首先验证会话标识sid=h1(U1,…,Un),依次计算和哈希函数h2(sid||U1||R1||N),并验证哈希函数h2(sid||U1||R1||N)=M′1;若验证通过,计算会话密钥K=h3(sid||N);若验证失败,则发送错误信息;

其中:均为计算的中间结果;、x1,…,xn均表示是以p为模的素数域Zp中的随机数;g表示p阶有限循环群G上一个元素。

进一步地,密钥协商协议N个用户的每个用户发送一次数据,接收一次数据,密钥协商协议在密钥协商的发起者收到传回的数据后结束。

本发明提供的技术方案具有的优异效果是:

1、本发明提供的一种基于口令的轻量级密钥协商方法,密钥协商协议基于用户容易记忆的口令,协商出高强度的会话密钥。本专利在应用时不要求每个用户之间都保持通信连接,一个通信方只需连接到与它相近的一个或几个通信方即可,特别适合在电力,电信等通过逐点组网通信的场景下使用。可以抵御在线字典攻击、离线字典攻击、及中间人攻击等针对密 钥协商的常见攻击,具有高安全强度。

2、本发明的密钥协商方法,避免了对时间必须精准同步的要求,解决了同步信号频繁广播的高能耗问题;在密钥协商过程中,节点大部分只是进行数据的处理,不进行数据传送,有效地降低了密钥协商过程中的能量消耗。

附图说明

图1是本发明提供的基于口令的轻量级密钥协商方法的流程图;

图2是本发明提供的可应用场景的网络结构图;

图3是本发明提供的具体实施例中主要数据的交换图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步的详细说明。

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的组件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。

本发明提供了一种基于口令的轻量级密钥协商协议,以实现保密通信。其流程图如图1所示,本协议的所有的运算在一个p阶有限循环群G上进行,g是G上任意的一个元素。是三个哈希函数,分别用于生成会话标识,进行正确性验证,和生成会话密钥。系统包括N个用户U1,…,Un和一个可信服务器S。S向所有用户公开自己的公钥Ppub,保留自己的私钥Ppri。用户可向服务器发送加密信息,服务器用自己的私钥解密。n个用户之间未共享任何信息,每个用户Ui与S之间共享一个口令pwi。不失一般性,我们假设U1为密钥协商的发起者,Un为最后一个用户并与服务器S相邻。协议的执行分两轮,第一轮数据由U1向Un传递,第二轮则反向传递回U1。所有用户发送一次,接收一次,协议在U1收到传回的数据后结束。l1、l2、l3均表示固定的长度; *表示任意长度,l1、l2、l3根据实际需要选取512bits,1024bits。

第一轮如下:

U1:计算一个会话标识sid=h1(U1,…,Un),然后选择两个随机数x1,R1,∈Zp,然后计算并把(sid,U1,…,Un,N1,M1)发给下一个用户U2

Ui,i=1,…,n-1:选择两个随机数xi,Ri,∈Zp,然后计算并把(sid,U1,…,Un,N1,M1,…,Ni,Mi)发给下一个用户Ui+1

Un:与其他用户操作相同,把最后的(sid,U1,…,Un,N1,M1,…,Nn,Mn)发送给可信服务器S。

第二轮如下:

S:收到(sid,U1,…,Un,N1,M1,…,Nn,Mn)后,S用自己的私钥解密M1得到sid到U1,以及R1,首先验证sid=h1(U1,…,Un)。然后S检查是否等于收到的N1与自己与U1共享的pw1相异或的结果。如果相等,S继续对N2,M2,…,Nn,Mn做相同检查。如果有一项失败,程序终止。所有检查都通过后,S确认(sid,U1,…,Un,N1,M1,…,Nn,Mn)合法。然后S选择随机数s∈Zp,计算i=2,…,n,M′i=h2(sid||Ui||Ri||N),i=1,…,n,将生成的发送给Un

Un:收到后,首先验证sid=h1(U1,…,Un),然后计算再计算h2(sid||Un||Rn||N)并验证如验证通过,计算会话密钥K=h3(sid||N)。接下来,继续计算i=1,…,n,将发送给Un-1。如验证失败,则发错误信息。

Ui,i=2,…,n-1:收到后,首先验证sid=h1(U1,…,Un),然后计算再计算h2(sid||Ui||Ri||N)并验证h2(sid||Ui||Ri||N)=M′i。如验证通过,计算会话密钥K=h3(sid||N)。接下来,继续计算将发送给Ui-1。如验证失败,则发错误信息。

U1:收到后,首先验证sid=h1(U1,…,Un),然后计算再计算h2(sid||U1||R1||N)并验证h2(sid||U1||R1||N)=M′1。如验证通过,计算会话密钥K=h3(sid||N)。如验证失败,则发错误信息。

其中:N1、M1、N2,M2,…,Nn,Mn、M′1,…,M′n均为计算的中间结果;、x1·…·xn均表示是以p为模的素数域Zp中的随机数。

实施例

我们以一个只有三个用户A,B,C和服务器S的系统为例说明协议运行过程,其应用场景结构图如图2所示。在例子中,我们忽略简单的比较验证。

A:计算会话标识sid=h1(Ua,Ub,Uc),选择随机数a,Ra,∈Zp,计算Na=ga,向B发送sid,Ua,Ub,Uc,Na,Ma)。

B:选择随机数b,Rb,∈Zp,计算Nb=(Na)b=gab向C发送sid,Ua,Ub,Uc,Na,Ma,Nb,Mb)。

C:选择随机数c,Rc,∈Zp,计算Nc=(Nb)c=gabc,向S发送sid,Ua,Ub,Uc,Na,Ma,Nb,Mb,Nc,Mc)。

S:解密得到Na,Ma,Nb,Mb,Nc,Mc,随机选s∈Zp,计算N=(Nc)s=gabcs

M′a=h2(sid||A||Ra||gabcs),M′b=h2(sid||B||Rb||gabcs),M′c=h2(sid||C||Rc||gabcs),向C发送

C:计算向B发送

B:计算向A发送

A:计算具体实施例中主要数据的交换图如图3所示。

以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或 者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1