一种三方口令认证密钥交换方法技术

技术编号:29212778 阅读:21 留言:0更新日期:2021-07-10 00:50
本发明专利技术公开了一种三方口令认证密钥交换方法,本发明专利技术设计了隐式三方认证的方法,相对目前常用的需要多次进行哈希运算、消息传输量大的显式认证方法,本发明专利技术的方案简化了认证结构,减少了哈希的次数以及通信量的大小。其次,本发明专利技术考虑了两个多项式模乘的情况,对此进行了更加收敛的参数分析方式,平衡了方差、模、维数、采样参数和误差率,大大降低了模数,从而使密钥交换更加高效。由于参数为d的中心二项分布,在安全上与标准差为的离散高斯分布相似,且能防止计时攻击,因此,采样时,本发明专利技术选择能更高效的在硬件、软件上实现的中心二项分布。这种采样方式更为简单,并且不需要引入大的表格和高精度计算,采样效率更高。采样效率更高。采样效率更高。

【技术实现步骤摘要】
一种三方口令认证密钥交换方法


[0001]本专利技术属于密码
,涉及一种基于RLWE(Ring Learning with Errors,环上错误学习)的三方口令认证密钥交换方法。

技术介绍

[0002]密钥交换允许两个或多个通信实体在不安全的信道中共享一个公共密钥。不支持身份验证的密钥交换只能提供被动攻击安全,而认证的密钥交换可以在抵抗主动攻击的情况下,确保会话中的参与者能够与另一个诚实的参与者共享会话密钥。与其他密钥交换方式对比,基于口令的认证密钥交换既不需要公钥基础设施,也不需要用户存储长对称密钥,而是让各方共享一个简单、低熵、易于记忆的口令,具有数据量小、速度快等优点,被广泛应用。
[0003]现有的密钥交换大都只针对双方通信的的情形,而在互联网实际场景中,随着业务参与方数目不断增加,如手机终端、本地服务器、远程服务器之间的通信,以及电子商务中买家、卖家、第三方平台之间的交涉,这些应用场景的不安全性,使得三方密钥交换的研究很有必要。当通信实体数量增加,整个网络需要预存储的口令数量也越来越多,2PAKE(Password Authenticated Key Exchange,基于口令的密钥交换)的密钥协商方式不适用于用户

用户的通信场景。具体来说,如果网络中有n个用户参与通信,每两个用户协商并分享一个会话密钥,则整个通信网络中共需要预存储n(n

1)/2个口令。为了解决2PAKE的局限性,密码学者提出了三方口令认证密钥交换(3PAKE,Three

party Password Authenticated Key Exchange),引入了一个可信服务器,每个客户端只需要与服务器共享自己的口令,不用预存储其他客户端的信息,减少了口令存储、管理和更新的问题。服务器存储了所有客户端的口令哈希值,对通信双方进行身份验证,并帮助他们生成会话密钥。
[0004]目前,3PAKE协议的安全性主要依赖于大整数分解和离散对数等经典数学问题的困难性。随着量子计算的发展,大多数经典难题都可以通过量子计算在多项式时间内求解,这给传统公钥密码体制下的3PAKE带来了挑战。因此,设计一个具有后量子安全性的认证密钥交换协议就显得尤为重要。其中,基于格的密码算法在灵活性、安全性和计算量等方面有着卓越的性能,是后量子密码算法最常见的数学基础之一。由于在基于理想格的RLWE困难问题构造的密钥协商中,各参与者都会随机引入小错误项来保证后量子安全,因此需要一个误差协调机制将包含误差的近似密钥恢复成一致的会话密钥。在Peikert误差协调机制中,定义了舍入函数[x]2:=[2x/q]mod2、交叉舍入函数随机加倍函数和恢复函数其中,模数q为素数,Z为整数集,区间I0={0,1,...,[q/4]‑
1},I1={

[q/4],...,

1},误差区间E=[

q/8,q/8)∩Z(modq),是独立于v的均匀随机值。结合以上函数,可定义:
[0005]·
协调函数(k,ω)=HelpRec(v):计算辅助协调的信号值
协调值返回(k,ω)。
[0006]·
恢复函数k

=Rec(2w,ω):输入w和ω,返回协调值k


[0007]在多项式环R
q
=Z
q
/(X
n
+1)上,对于两个近似的环元素v=(v0,...,v
n
‑1)∈R
q
,w=(w0,...,w
n
‑1)∈R
q
,可以计算(k,b)=HelpRec(v)=(HelpRec(v0),...,HelpRec(v
n
‑1))。根据二进制协调向量b=(b0,...,b
n
‑1)∈{0,1}
n
,可以计算k

=Rec(2w,b)=(Rec(v0,b0),...,Rec(v
n
‑1,b
n
‑1))。只要两个环元素的误差满足||w

v||

<q/8,通过以上函数可得到相同的k=k


[0008]目前基于格的口令认证密钥交换协议相对较少,且大多针对两方的情况,每个用户都需要预共享所有与其通信的用户的口令哈希值,在口令的存储、更新和管理上造成了资源和安全性的损失,因此不适用于用户多、用户

用户通信的场景。

技术实现思路

[0009]针对现有技术存在的问题,本专利技术的目的在于提供一种基于RLWE问题的隐式三方口令认证密钥交换方法,两个客户端通过低熵的口令与服务器进行交互,完成三方认证,并使用误差协调机制获得一致的会话密钥,使用该会话密钥在不安全信道中保证消息的机密性。
[0010]首先,为了降低客户端

服务器

客户端场景中口令认证和密钥交换的通信复杂度,提高协议运行效率,本专利技术设计了隐式三方认证的方法,相对目前常用的需要多次进行哈希运算、消息传输量大的显示认证方法,本专利技术的方案简化了认证结构,减少了哈希的次数以及通信量的大小。其次,本专利技术考虑了两个多项式模乘的情况,对此进行了更加收敛的参数分析方式,平衡了方差、模、维数、采样参数和误差率,大大降低了模数,从而使密钥交换更加高效。由于参数为d的中心二项分布,在安全上与标准差为的离散高斯分布相似,且能防止计时攻击,因此,采样时,本专利技术选择能更高效的在硬件、软件上实现的中心二项分布。这种采样方式更为简单,并且不需要引入大的表格和高精度计算,采样效率更高。同时,该方案可以结合NTT

based Fast Lattice Library库,加速多项式乘法的过程,进一步提高整个协议的计算效率。
[0011]每次进行新密钥交换会话时,服务器会生成新的种子seed,再使用伪随机函数(比如哈希函数)将其扩展为公共参数a(公共参数a是用于生成各种密钥的,比如p=as+e,s和e是秘密,p是密钥),而不是使用固定的公共参数。将哈希函数的输出扩展成a,可以避免不诚实的参与方选择特定构造的a,导致敌手通过陷门攻击和all

for

the

price

of

one攻击猜测出协议参与方的秘密值。同时,该方法使用Peikert误差协调机制将两个近似密钥协调成相同的协调值。Peikert协调机制定义了随机倍加函数,其中的概率为1/2,的概率为1/4,则倍加函数的输出随机均匀,从而使得生成得信号值均匀随机分布,双方可以直接得到均匀的共同比特。即使敌手获得了信号值,从中推断出协调值的优势也是可忽略的,从而保证误差协调机制的安全性。
[0012]本专利技术的技术方案为:
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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
...

【专利技术属性】
技术研发人员:顾小卓王梓梁任培欣代文昊
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1