【技术实现步骤摘要】
一种三方口令认证密钥交换方法
[0001]本专利技术属于密码
,涉及一种基于RLWE(Ring Learning with Errors,环上错误学习)的三方口令认证密钥交换方法。
技术介绍
[0002]密钥交换允许两个或多个通信实体在不安全的信道中共享一个公共密钥。不支持身份验证的密钥交换只能提供被动攻击安全,而认证的密钥交换可以在抵抗主动攻击的情况下,确保会话中的参与者能够与另一个诚实的参与者共享会话密钥。与其他密钥交换方式对比,基于口令的认证密钥交换既不需要公钥基础设施,也不需要用户存储长对称密钥,而是让各方共享一个简单、低熵、易于记忆的口令,具有数据量小、速度快等优点,被广泛应用。
[0003]现有的密钥交换大都只针对双方通信的的情形,而在互联网实际场景中,随着业务参与方数目不断增加,如手机终端、本地服务器、远程服务器之间的通信,以及电子商务中买家、卖家、第三方平台之间的交涉,这些应用场景的不安全性,使得三方密钥交换的研究很有必要。当通信实体数量增加,整个网络需要预存储的口令数量也越来越多,2PAKE(Password Authenticated Key Exchange,基于口令的密钥交换)的密钥协商方式不适用于用户
‑
用户的通信场景。具体来说,如果网络中有n个用户参与通信,每两个用户协商并分享一个会话密钥,则整个通信网络中共需要预存储n(n
‑
1)/2个口令。为了解决2PAKE的局限性,密码学者提出了三方口令认证密钥交换(3PAKE,Three
‑ ...
【技术保护点】
【技术特征摘要】
1.一种三方口令认证密钥交换方法,其步骤包括:1)客户端A与客户端B每次会话时,客户端A向服务器S发送<ID
A
,ID
B
>以发起会话;其中,ID
A
是客户端A所登录用户的身份信息、ID
B
是客户端B所登录用户的身份信息,服务器S中存储每个用户的口令的验证值,ID
S
为服务器S的身份信息;2)服务器S为当前会话随机生成随机数seed,然后根据随机数seed计算并公布公共参数a,并生成随机数s1,s2,e1,e2,e
SA
,e
SB
;然后计算;然后计算然后服务器S将分别发送给客户端A、客户端B;为客户端A所登录用户的口令pw
A
的验证值,为客户端B所登录用户的口令pw
B
的验证值;3)客户端A计算并生成随机数s
A
,e
A
;客户端A检查收到的如果则客户端A终止交互;否则,客户端A计算p
A
=as
A
+e
A
、(σ
AS
,ω
AS
)=HelpRec(k
AS
)、并向服务器S发送<x
AS
,ω
AS
>;客户端B计算>;客户端B计算并生成随机数s
B
,e
B
,检查接收到的是否满足如果不满足则终止交互;否则,客户端B计算p
B
=as
B
+e
B
、(σ
BS
,ω
BS
)=HelpRec(k
BS
)、并将<x
BS
,ω
BS
>发送给服务器S;其中哈希函数H1、H2、H3、H4定义为H1:{0,1}
*
→
R
q
、H2:{0,1}
*
→
R
q
、H3:{0,1}
*
→
R
q
、H4:{0,1}
*
→
{0,1}
λ
,λ表示最终共享的会话密钥比特位数;4)服务器S检测收到的<x
AS
,x
BS
,ω
AS
,ω
BS
>,如果则S终止交互;否则计算k
SA
=p
A
·
s1、k
SB
=p
B
·
s2、σ
SA
=Rec(2k
SA
,ω
AS
)、σ
SB
=Rec(2k
SB
,ω
BS
)、y
SA
=p
B
+H3(σ
SA
)和y
SB
=p
A
+H3(σ
SB
);然后将<y
SA
,y
SB
,x
BS
>发送给客户端A、将<y
SA
,y
...
【专利技术属性】
技术研发人员:顾小卓,王梓梁,任培欣,代文昊,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。