Provably Secure Two-Round PAKE Based on Ciphertext Standard Language over Lattices

YIN An-qi, QU Tong-zhou, GUO Yuan-bo, WANG Ding, CHEN Lin, LI Yong-fei

ACTA ELECTRONICA SINICA ›› 2022, Vol. 50 ›› Issue (5) : 1140-1149.

PDF(911 KB)
CIE Homepage  |  Join CIE  |  Login CIE  |  中文 
PDF(911 KB)
ACTA ELECTRONICA SINICA ›› 2022, Vol. 50 ›› Issue (5) : 1140-1149. DOI: 10.12263/DZXB.20210517
PAPERS

Provably Secure Two-Round PAKE Based on Ciphertext Standard Language over Lattices

Author information +

HeighLight

Reducing the communication round complexity and security assumptions are important directions of password-based authenticated key exchange(PAKE) protocol over lattices. Smooth projective Hash function(SPHF) is an important mathematical tool for constructing PAKE. But most of the existing lattice-based SPHFs cannot be applied under hyperpolynomial modulus. This paper proposes two SPHFs based on the standard language of ciphertext over lattices, which solves the above problem without increasing communication and storage overhead. Based on the proposed SPHFs, this paper proposes a provably secure two-round PAKE protocol over lattices, which can resist quantum attacks and reduce the communication round complexity and the security assumptions without random oracle and zero-knowledge proof. And this paper also provides a strict security proof for the proposed protocol based on a more accurate security model. Experiment results show that the protocol proposed has better communication round complexity, computational overhead, security assumptions and actual security.

Cite this article

Download Citations
YIN An-qi , QU Tong-zhou , GUO Yuan-bo , WANG Ding , CHEN Lin , LI Yong-fei. Provably Secure Two-Round PAKE Based on Ciphertext Standard Language over Lattices[J]. ACTA ELECTONICA SINICA, 2022, 50(5): 1140-1149. https://doi.org/10.12263/DZXB.20210517

1 引言

口令认证密钥交换协议可使只拥有低熵口令的协议参与方,在不安全的公开网络上,协商密码学安全的会话密钥1.现有PAKE的研究多是基于传统困难问题的2~5;Shor算法6证明,存在量子算法可以解密所有基于大整数分解或离散对数的公钥密码体制;因此上述PAKE无法抵抗量子攻击.而基于格的密码体制可有效抵抗量子攻击;与其他抗量子密码体制(多变量公钥密码体制、基于Hash函数的数字签名方案、基于编码的密码体制)相比,其在计算效率7、困难实例随机选取8等方面具有显著优势,但关于其的研究却相对有限.
平滑投射哈希函数是构造PAKE的重要数学工具.现有SPHF一般是基于非标准密文语言的,不能在超多项式模数下应用9.文献[10]提出了一种支持一轮PAKE协议构造的适应性SPHF;但并不能解决上述问题.文献[11]提出了一种基于密文标准语言的SPHF,但其所基于的公钥加密(Public Key Encryption,PKE)方案计算效率较低,且该文未对相关协议进行安全性证明.
KOY/GL312和JG/GK45架构是目前应用最广泛的PAKE协议架构,但都需要三轮通信.文献[1]率先提出了格上的两轮PAKE;文献[13]则利用可拆分函数,提出了一种可实现互认证的两轮PAKE;但二者均是基于随机预言机的,且前者还需要基于可靠性模拟的非交互式零知识(Simulation-Sound Non-Interactive Zero- Knowledge,SS-NIZK)证明,计算效率较低.文献[14]提出了第一个格上不需要SS-NIZK的两轮PAKE,但也是基于非标准密文语言的.
KOY/GL架构下的协议需要适应性选择密文攻击下不可区分(INDistinguishability under Adaptive Chosen-Ciphertext Attack,IND-CCA2)的安全性假设,这导致协议计算效率较低,存储开销较大.文献[15]优化了PAKE的密文长度,但仍需要IND-CCA2的安全性假设.JG/GK架构下的协议在客户端仅需要选择明文攻击下不可区分(INDistinguishability under Chosen-Plaintext Attack,IND-CPA)的安全性假设,但此类协议仍需要三轮通信.目前格上的二轮116、一轮210PAKE在服务器和客户端一般都需要IND-CCA2安全的加密方案.虽然文献[14]提出的两轮协议降低了服务器端的安全性假设,但本文指出了其协议设计中的一个错误.
因此,研究格上基于密文标准语言的平滑投射哈希函数,是解决格上SPHF不能在超多项式模数下应用的有效方法;而降低格上PAKE协议的通信轮次和安全性假设则对降低PAKE协议的通信开销、计算开销以及提高协议的实际安全性具有重要意义.为此,本文提出了两种格上基于密文标准语言的平滑投射哈希函数;并基于此提出了一种格上可证明安全的两轮口令认证密钥交换协议,协议降低了客户端所需的安全性假设;实验结果表明本文具有更优的计算开销、通信开销和安全性假设.

2 预备知识

2.1 符号说明

本文的符号定义见表1.
表1 符号定义
符号 含义
n 安全参数
A | B ]/[ A || B 矩阵 AB 的横/纵向级联
negl(.) 可忽略函数
q LWE困难问题模数
Ham(., .) 汉明距离函数
A T 矩阵 A 的转置矩阵
←/r 取样/随机取样
| D | 集合D的大小
d(., .) 距离函数(欧式距离)
|| x || 向量 x 的欧几里得范数
非法标识
a⌉/⌊a 大于/小于a的最小/最大整数
a a最接近的整数
〈., .〉 内积运算

2.2 格及格上的加密方案

1 设mn,基矩阵BRm×nB 的列向量线性无关),m维的格Λ格定义为
ΛB={Bs|sZn}
(1)
高斯离散分布9 设s>0yRm,定义Rm上的高斯权重函数为
ρs,yx:=exp-πx  y2/s2
(2)
设参数为s,中心为 y,格Λ上的离散高斯分布为
DΛ,s,yx =ρs,yx/ρs,yΛ
(3)
其中xΛρs,yΛ=xΛρs,yx,此外若 y 为零向量,可将其省略.
带差错学习(Learning With Errors,LWE)问题1q2,另设χZ上的离散高斯分布.LWE问题的定义为,给定多项式数目的取样,区分以下两个分布:(1) (a,<a,s>+x)a rZqnxχsZqn是固定的随机均匀选择的秘密;(2) (a,b)a rZqnbrZq. LWE问题的困难性说明见文献[6].
格上的公钥加密方案 文献[17]中的GPV方案是格上经典的基于LWE问题的IND-CPA安全的PKE之一,设明文为p0{0,1},其定义如下.
GPV.KeyGen(params):私钥skGPV=s rZqn,公钥pkGPV=BGPV=As+xZqn,其中xirχ(i[m],χ=ψ¯α).
GPV.Enc(BGPV,p0;s)y rDZm,y,密文(u,c0)=(BGPVTy,BGPVTy+p0q/2)Zqn+1.
GPV.Dec(s,(u,c0)):计算p0'=c0-sTu,若Dis(p0',0)<Dis(p0',q/2) modq,输出0;否则,输出1.
文献[9]中的KV方案是格上最广泛应用的IND-CCA2安全的PKE之一.设BZqm×nU=(u0,u1, ,ul)(Zqm×n)l+1xψ¯bmZqls rZqn,公钥pkKV=BKV=[B|U]Zqm×n,标签label=U,明文p=(p1,p2, ,pl)Zql. KV方案定义如下.
KV.KeyGen(params)(B,T)TrapSamp(1n,q,m)18,输出BZqm×nTZqm×m.
KV.Enclabel(BKV,p;s):为加密明文p=(p1,p2, ,pl)Zql,随机选择一个错误向量xψ¯bmZql,计算并输出密文
y=BKVTsT1pT+x Zqm
(4)
KV.Declabel(T,c)(s,1,p)BBDsolve(T,c,U)17,输出 p .
为简化说明,下文以IND-CPA安全的方案为例构造格上的SPHF,基于IND-CCA2安全的方案构造SPHF的方法与其相同.

2.3 平滑投射哈希函数

近似平滑投射哈希函数(Approximate Smooth Projective Hash Function,ASPHF)可通过抽样算法定义,抽样算法输出(KlH = {Hash(params, hk, W )} lS, HashKG: hk rK, ProjKG: KS);其中KS为哈希、投射密钥空间,HashKG为K上的哈希密钥生成函数;ProjKG为KS上的投射密钥生成函数2.ASPHF满足:
(1) 存在高效算法可以计算HashKG、ProjKG和Hash(params,hk,W)
(2) 近似正确性:对于hkKWLphProjKG(params,hk,W)以及可忽略函数negl(),若存在投射哈希函数ProjHash使式(5)成立,称该ASPHF为ε-ASPHF.
PrHamHash(params,hk,W),ProjHash(ph,W,w)ε=negl(n)
(5)
(3) 平滑性:对于hk rKW'X-LphProjKG(params,hk,W')vrYY为Hash函数的值域),式(6)中的两个分布在统计上不可区分.
phProjKG(params,hk,W'),hHash(params,hk,W')   (1)phProjKG(params,hk,W'),v(2)
(6)
现介绍证明本文SPHF性质所需的定理.
定理111 对于AZqm×ncZqmpZqn,其中m可以表示成n的多项式函数.对于概率舍入函数R:Zq{0,1},满足对于xZq
pr(x)=PrR(x)=1=jp̂rej/q(x)
(7)
其中jJJZqp̂rC.对于ε=negl(n),令sηε(ΛA).假设
jJ-{0},sd(jc,ΛA)>qm
(8)
p(c)=Pr(R(hiTc)=1|ui=BThi),在ui=BTh的条件下,p(c)由舍入函数R的随机性,以及 hi 的分布决定.那么
p(c)-r̂0(2+O(ε))JCm+O(ε)
(9)
其中C=(2πe)1/2e-π<1.此外,现有文献通常直接称ASPHF为SPHF101314,下文也如此.

3 PAKE协议的安全模型

通信模型19 假设通信在不安全的公开网络上进行,参与方包括客户u1,u2,U,攻击者(或敌手)ad1,ad2,B和可信服务器s1,s2,E.
设各参与方可与其他参与方(并发地)执行多次协议;称一次协议的执行为一个实例(如Πu1i表示客户u1的第i个实例).以实例Πu1i为例,其维持本地状态变量(sidu1i,pidu1i,sku1i,accu1i,termu1i)sidu1i为会话标识,pidu1i表示客体u1所认为的与其共同参与协议执行的另一参与方的标识;sku1i表示客户u1所得到的会话密钥;accu1i是标识实例Πu1i是否被客户u1接受的布尔变量,accu1i=1表示接受;termu1i是标识实例Πu1i是否被客户u1拒绝的布尔变量,拒绝用termu1i=1标识.下文中伙伴关系、正确性、新鲜性的定义与BRP模型19保持一致.
攻击者模型 攻击者ad1可在协议执行过程中进行消息的窃听、拦截、注入、篡改等.根据BPR模型19,本文用Execute(u1is1j)预言机、Send(u1i, msg)预言机、Reveal(u1i)预言机以及Test(u1i)预言机建模实例,并用预言机询问建模攻击者的攻击能力.各预言机的具体定义也与BRP模型19保持一致.
攻击者优势11 协议的安全性是通过一系列Game定义的:攻击者可以执行一系列上述预言机询问(但只允许执行一次Test询问);所有Game执行完毕后,攻击者输出猜测比特b';若b'=b,称攻击者攻击成功.本文用Success表示攻击成功事件,ad1在攻击协议Π时的攻击优势AdvΠ,ad1
AdvΠ,ad1n=2PrSuccess -1
(10)
定义1(安全协议) 设安全参数为n,口令空间为D,服从CDF-Zipf分布20,另设概率多项式时间(Probabilistic Polynomial Time,PPT)攻击者最多可执行Qn)次在线攻击,称PAKE协议Π是安全的,如果式(11)成立.
AdvΠ,ad1nC'Qns'+negln
(11)
其中C' = 0.062239,s' = 0.155478.
本文假设口令服从CDF-Zipf分布.根据文献[21],CDF-Zipf分布下敌手优势的准确性,至少是均匀分布下敌手优势准确性的3~4倍.因此,本文安全协议模型至少比均匀随机模型精确3~4倍.

4 基于密文标准语言的SPHF

4.1 基于KV密文标准语言的SPHF

为解决现有SPHF不能在超多项式模数下应用的问题,本文提出了一种基于KV密文标准语言(standard languages)的SPHF,记作KV-S-SPHF.下面首先定义本文中基于KV密文的标准语言
L0=p,c,u|s,eKV,cEncpkKV,p,u;s,eKV,L=p,c,u|DecskKV,c,u=p
(12)
为构造基于KV密文标准语言的SPHF (记作KV-S-SPHF),舍入函数应该满足:除1次谐波外的jj为奇数)次谐波的权重尽量为0.本文选择的舍入函数及其波形分别如式(13)图1所示.
图1 舍入函数波形图

Full size|PPT slide

R(x)=1/2+1/2cos(2πx/q)
(13)
本文构建的基于KV密文标准语言的SPHF(记作KV-S-SPHF)如下:
(1)hkKV.HashKG(params):随机输入(h1, ,hk)(Zqm)k;输出哈希密钥hk:=(h1, ,hk)(Zqm)k.
(2)phKV.ProjKG(params,hk=(h1, ,hk),pkKV=BKV):输入hk=(h1, ,hk)(Zqm)k,公钥 BKV;输出ph:=(u1,,uk)=α(h1, ,hk),其中投射密钥ui=BKVThi(1ik).
(3)HKV.Hash(hk=(h1, ,hk),WKV:=(label,c,p)) :输入hk=(h1, ,hk)(Zqm)k,单词WKV:=(label,c,p),其中pZqlcZqm;哈希函数的计算方式如式(14)所示,其中R(x)=1/2+1/2cos(2πx/q);输出H=(b1, ,bk).
zi=Hash(hk=hi,WKV:= (label, c, p)   =hiTc-U1p(mod q)Zqbi=R(zi){0,1}
(14)
(4)PKV.ProjHash(ph=(u1,,uk) , WKV=
(label,c,p);w=eKV):输入ph=(u1,,uk)WKV=(label,c,p)eKV;投射函数如式(15)所示;输出P=(b1', ,bk').
z'i=ProjHash(ph=(u1,,uk),       WKV:=(label,c,p); w=eKV)    =uiTeKV(mod q)Zqb'i=R(z'i){0,1}
(15)
下面证明KV-S-SPHF满足正确性与平滑性.
证明 (1)正确性证明
对于WKVL,满足
p1=PrH=P    =PrKV.Hash(h1,,hk),(label,c,p)=KV.ProjHash(u1,,uk),(label,c,p); eKV    >12+Δ
(16)
其中,Δ是不可忽略的小数.因为在构建KV-S-SPHF中使用了舍入函数,只要保证式(17)成立即可.
p1=PrRhiTc-U1p=RuiTeKV    >12+Δ
(17)
进一步,根据式(13)式(17),可得式(18).
p1=1qxq(R(x)R(x+hiTc)+1-R(x))(1-R(x+hiTc)))+negl(n)=12+1qxZq12cos2πxqcos2πx+hiTcq+negl(n)
(18)
因为tsm=o(q),所以有hiTc=o(q)c 是高斯取样的误差)在统计上成立.余弦函数是Lipschitz连续函数,因此可通过积分来近似求和:
p1=12+1201cos2(2πx) dx+ο(1)=34+ο(1)
(19)
根据式(16)式(19)可知,KV-S-SPHF满足近似正确性,根据文献[11]中的正确性放大技术,我们可以得到一个具有统计正确性的KV-S-SPHF.
(2)平滑性证明
本文引入新舍入函数后,只要保证对于WKVX-L式(20)中的p2满足p2-1/2negln,那么就可以保证KV-S-SPHF的平滑性.
p2=PrR(zi(modq))=1ui=BThi    =PrRhiTc-U1p(modq)=1ui=BThi
(20)
pR(x)=Pr(R(x(modq))=1),那么pR(x)是一个以q为周期的周期信号.现对pR(zi)进行插值处理,得到式(21).
pR(zi)=jZqp̂r',jej/q(zi)
(21)
其中p̂r'Cpr':Z[0,1]的傅里叶系数.令sηε(ΛA),并假设jJ-{0} 
s×djc-U1p, ΛA>qm
(22)
根据式(13),有式(23).
p̂r,0=1/2p̂r,±1=1/2p̂r,j=0 (j0,±1)
(23)
根据定理1及式(19)~(23),对于WKVX-LC=(2πe)1/2e-π<1,有
2p2-12(6+O(ε))Cm+O(ε)negl(n)
(24)
综上,KV-S-SPHF是平滑投射哈希函数.
证毕.

4.2 基于GPV密文标准语言的SPHF

本小节研究基于GPV密文标准语言的SPHF,记作GVP-S-SPHF.GPV方案的公共矩阵为 A,公钥为pkGPV=BGPV=As+xZqm,具体方案如下:
(1)hkGPV.HashKG(params):随机输入(h1,,hk)(Zqm)k;输出哈希密钥hk:=(h1, ,hk)(Zqm)k.
(2)phGPV.ProjKG(params,hk=(h1,,hk),pkKV=BGPV) : 输入hk=(h1, ,hk)(Zqm)kpkKV=BGPV;输出ph:=(u1,,uk)=α(h1, ,hk),其中投射密钥ui=BGPVThi(1ik).
(3)HGPV.Hash(hk=(h1, ,hk),WGPV:=(c,p)): 输入hk=(h1, ,hk)(Zqm)k,单词WGPV=(c,p),其中c=(c1, ,ck)Zqk;哈希函数的计算方式如式(25)所示,其中R(x)=1/2+1/2cos(2πx/q);输出H=(b1,,bk).
zi=Hash(hk=hi,WGPV:=(ci,pi))   =hiT[ci-(q/2pi)]      (mod q)Zqbi=R(zi){0,1}
(25)
(4)PGPV.ProjHash(ph=(u1,,uk),WGPV=(c,p);w=eGPV):输入投射密钥ph=(u1,,uk)WGPV=(c,p)w=eGPV;其中p=(p1,,pk)c=(c1, ,ck)Zqk;投射函数的计算方式如式(26)所示;输出P=(b1', ,bk').
z'i=ProjHash(ph=(u1,,uk),     WGPV:= (c, p);w=eGPV)   =uieGPV(mod q)Zqb'i=R(z'i){0,1}
(26)
GPV-S-SPHF的正确性与平滑性证明过程与KV-S-SPHF类似,不再赘述.

5 格上可证明安全的两轮PAKE

5.1 两轮协议及正确性分析

基于本文提出的两种平滑投射哈希函数,本节提出了一种格上基于标准安全模型的不需要SS-NIZK的二轮PAKE,如算法1所示.
密码原语 (1) KV方案及KV-S-SPHF;(2) GPV方案及GPV-S-SPHF.
初始化阶段 建立KV和GPV方案的公钥,即公共参考序列(Common Reference String,CRS).

算法1 格上基于标准安全模型的不需要SS⁃NIZK的二轮PAKE协议

客户u1pwu1

CRS: pkKV,pkGPV

服务器s1pws1,u1

(1) hku1rGPV.HashKG(params)eGPVDZm, y

(2) phu1GPV.ProjKG(params,hku1,pkGPV)

(3) label=u1||s1||phu1

(4) (u,cu1)GPV.Enc(pkGPV,pwu1,label; eGPV)

u1||cu1||phu1

s1||cs1||phs1

(1) hks1rKV.HashKG(params)eKVr(Zq)n

(2) phs1KV.ProjKG(params,hks1,pkKV)

(3) label=u1||s1||phu1label'=u1||s1||phu1||cu1||phs1

(4) cs1KV.Enclabel'(pkKV,pws1,u1; eKV)

(5) label'=u1||s1||phu1||cu1||phs1

(6) Hu1KV.Hash(hku1,WKV:=(label',cs1,pwu1))

(7) Pu1GVP.ProjHash(phs1,WGPV:= (cu1,pwu1); eGPV)

(8) Ku1Hu1 Pu1

(5) Hs1GPV.Hash(hks1,WGPV:=(cu1,pws1,u1))

(6) Ps1KV.ProjHash(phu1,WKV:=(label',cs1,pws1,u1); eKV)

(7) Ks1Hs1 Ps1

(9) 删除除pwu1Ku1外所有存储信息

(8) 删除除pws1Ks1外所有存储信息

协议执行过程 假设协议在客户u1和服务器s1之间执行,u1s1共享口令pwu1.
u 1选择eGPVDZm, y,哈希密钥hku1rGPV.HashKG(params);计算投射密钥phu1GPV.ProjKG(params,hku1,pkGPV);将己方标签设置为label=u1||s1||phu1;并计算己方密文(u,cu1)GPV.Enc(pkGPV,pwu1,label; eGPV);最后向s1发送u1||cu1||phu1.
s 1收到消息u1||cu1||phu1后,选择eKVr(Zq)n,哈希密钥hks1rKV.HashKG(params);计算投射密钥phs1KV.ProjKG(params,hks1,pkKV);设置客户方标签为label=u1||s1||phu1,己方标签为label'=u1||s1||phu1||cu1||phs1;并计算己方密文cs1KV.Enclabel' (pkKV,pws1,u1; eKV);最后向u1发送s1||cs1||phs1.
u 1收到s1||cs1||phs1后,计算Hu1KV.Hash(hku1,WKV=(label',cs1,pwu1))Pu1GVP.ProjHash(phs1,(cu1,pwu1); eGPV);最后计算会话密钥Ku1Hu1 Pu1. s1计算会话密钥的方式与u1类似,但无需等待u1收到s1||cs1||phs1.
正确性分析 根据式(27)以及SPHF的平滑性(见式(6)),本文协议满足正确性.
Ku1=Hu1 Pu1       =KV.Hash(hku1,WKV:= (label',cs1,pwu1))  GVP.ProjHash(phs1,WGPV:= (cu1,pwu1); eGPV)       =KV.ProjHash(phu1,WKV:= (label',cs1,pws1,u1);  eKV)GPV.Hash(hks1,WGPV:= (cu1,pws1,u1))           =Ps1 Hs1= Hs1 Ps1= Ks1
(27)

5.2 安全性证明

本文通过证明定理2,来证明本文PAKE协议是一个安全的PAKE协议.
定理2 如果 (1) KV方案是IND-CCA2安全的PKE,且KV-S-SPHF是SPHF;(2) GPV方案是IND-CPA安全的PKE,且GPV-S-SPHF是SPHF;那么算法1中的PAKE是一个安全的PAKE.
假设PPT攻击者(ad1)对算法1所示的协议进行攻击,本文通过Game0,Game1,Game2,…,来评估攻击者的优势,其中Game0与真实攻击一致.在Gamei中,用Success i 表示攻击成功事件,ad1的优势为Advad1,i=2Pr[SuccessGamei]-1.为方便表述,令msg1=u1||cu1||phu1msg2=s1||cs1||phs1.注意模拟器已知参与双方的私有输入,每次Game只对其前一个Game进行修改.
Game1 修改Execute预言机,若pwu1= pws1,u1,将服务器与用户会话密钥的计算方式替换为KV.Hash(hku1,W=(label',cs1, pwu1))GPV.Hash(hks1,W=(cu1, pws1,u1)).下证
Advad1,1(n)-Advad1,0(n)negl(n)
(28)
证明 根据SPHF的正确性,式(28)成立.
证毕.
Game2 修改Execute预言机,用服从Zipf分布的非法口令pw'u1来生成cu1.下证
Advad1,2(n)-Advad1,1(n)negl(n)
(29)
证明 构建一个PPT攻击者ad2攻击GPV方案:给定公钥pkGPV,ad2(pwu1,pw'u1)发送给其自己的“挑战”预言机;当收到挑战密文c'u1后,ad2c'u1构建msg1,并发送给ad1.
EventGPVpwu1(ad2)表示事件:ad2获得的挑战密文是由真实口令生成的,且ad2输出1.令EventGPVpw'u1(ad2)表示事件:ad2获得的挑战密文是由非法口令生成的,且ad2输出1.如果ad1攻击成功(即b'=b),那么ad2输出1;否则ad2输出0.因此“ad2获得的挑战密文是由真实口令产生的且输出1”的概率,与ad1攻击成功的概率是相同的(PrEventGPVpwu1(ad2)=1=PrSuccessGame1).同理PrEventGPVpw'u1(ad2)=1=PrSuccessGame2.令ad2攻击GPV的优势为Advad2,GPVIND-CPA(n),那么
    Advad1,2(n)-Advad1,1(n)=2PrSuccessGame2-PrSuccessGame1=2PrEventGPVpwu1(ad2)=1-PrEventGPVpw'u1(ad2)=1=2Advad2,GPVIND-CPA(n)negl(n)
(30)
根据GPV方案的IND-CPA安全性,式(29)成立.
证毕.
Game3 修改Execute预言机,若双方持有相同的口令,用服从Zipf分布的非法口令pw's1,u1=pw'u1来生成 cs1.下证
Advad1,3(n)-Advad1,2(n)negl(n)
(31)
该证明同Game2类似,不再赘述.
Game4 修改Execute预言机,若双方持有相同的口令,将双方的会话密钥替换为相互独立的随机数.下证
Advad1,4(n)-Advad1,3(n)negl(n)
(32)
证明 因为双方都使用非法密钥计算哈希值,所以(label',cs1,pwu1)LKV(cu1,pws1,u1)LGPV.根据KV-S-SPHF和GPV-S-SPHF的平滑性,易知式(32)成立.
证毕.
Game5 修改Execute预言机,若 pws1,u1pwu1,那么将协议参与双方的会话密钥替换为相互独立的随机数.下证
Advad1,5(n)-Advad1,4(n)negl(n)
(33)
证明 根据KV-S-SPHF和GPV-S-SPHF的平滑性,易知式(33)成立.
证毕.
Game6 修改Execute,若 pws1,u1pwu1,那么将cs1cu1分别替换为相互独立的非法口令pw's1,u1pw'u1(满足Zipf分布)的加密值.下证
Advad1,6(n)-Advad1,5(n)negl(n)
(34)
该证明与Game2类似,不再赘述.
在Game6中,对于Execute预言机询问而言,所有的会话密钥以及传输消息都是随机的,与真实口令无关.
下文开始修改Send预言机,并将Send预言机分为以下三种:(1) Send0ui, Start):攻击者ad1初始化uisj 之间的协议;模拟器向ad1返回msg1. (2) Send1sj, msg1):ad1sj 发送msg1,返回给攻击者msg2,并设置sj 的会话密钥Ksj. (3) Send2ui, msg2):ad1ui 发送msg2;该预言机不向ad1返回任何消息,只是设置ui 的会话密钥Kui.
本文用skKV表示KV方案的私钥,用skGPV表示GPV方案的私钥,注意协议执行本身并不需要私钥.
Game7 如果Execute产生的某个msg1与Send0预言机产生的某msg1发生了碰撞,那么直接宣布ad1攻击成功.该变化只会增加ad1的优势,因此Advad1,6(n)Advad1,7(n).
Game8 修改Send1,若msg1是由预言机产生的,那么Game8与Game7保持一致.否则设置label=u1||s1||phu1,并用skGPVcu1解密得到pwad,此时可能出现以下两种情况:(1) 若pwad=pwu1,宣布ad1攻击成功并中止Game;(2) 若pwadpwu1,随机设置Hs1以及Pu1.下证
Advad1,7(n)Advad1,8(n)+negl(n)
(35)
证明 考虑msg1不是由预言机产生的情况:情况 (1) 只会增加ad1的优势;根据SPHF的平滑性,情况 (2) 变化前后,ad1所观察到分布是统计上不可区分的,所以式(35)成立.
证毕.
Game9 修改Send2,令mgs1是由预言机产生的,若msg2也是由预言机产生的,那么可能会出现以下两种情况:(1) 若u1s1持有相同的口令,令Ku1=Ks1;(2) 否则,为u1随机选择一个会话密钥Ku1.
若msg2不是由预言机产生的,设置label'=u1||s1||phu1||cu1||phs1,并根据skKVcs1进行解密,此时可能出现另外两种情况:(3) 如果pwad=pws1,u1,直接宣布ad1成功并中止Game;(4) 如果pwadpws1,u1,将Hs1以及Pu1设置为随机数.下证
Advad1,8(n)Advad1,9(n)+negl(n)
(36)
证明 如果msg1和msg2是由预言机产生的:上述情况 (1) 与Game8保持一致;对于上述情况 (2),根据SPHF的平滑性,该变化只会带来可忽略的攻击者优势的变化;若msg2不是预言机产生的:上述情况 (3) 只会增加ad1优势;根据KV-S-SPHF的平滑性,上述情况 (4) 只会带来可忽略的优势变化.综上,式(36)成立.
证毕.
Game10 修改Send0预言机,用非法口令pw'u1生成cu1.下证
Advad1,10(n)-Advad1,9(n)negl(n)
(37)
证明方式同Game2,不再赘述.
Game11 修改Send1预言机,用非法口令pw's1,u1生成cs1.下证
Advad1,11(n)-Advad1,10(n)negl(n)
(38)
该证明方法与Game2类似,但ad2要检测ad1是否构造了合法的msg1和msg2.因为ad2只能通其自己的“挑战”预言机判断msg2的合法性,所以该证明依赖于KV方案的IND-CCA2安全性.
下证Advad1,0(n)C'Qns'+negl(n).
证明 记攻击者ad1猜测出正确口令为事件Guess,攻击者ad1未能猜测出正确口令为事件NGuess,则
    PrSuccessGame11=PrSuccessGame11NGuessPrNGuess    +PrSuccessGame11GuessPrGuessPrSuccessGame11NGuess    +PrSuccessGame11GuessPrGuess=PrSuccessGame11NGuess   +1-PrSuccessGame11NGuessPrGuess
(39)
在Game11中,所有的口令都已经被替换为服从Zipf分布的随机数,所以
Pr[SuccessGame11|Guess]C'Qns'+negl(n)
(40)
若攻击者没有猜测出正确口令,那么其只能通过比特猜测取胜,又在Game11中,会话密钥已经替换为随机数,所以
Pr[SuccessGame11|NGuess]=1/2±negl(n)
(41)
根据式(10)式(39)式(40)式(41)可知,
    Advad1,11(n)=2Pr[SuccessGame11]-12(Pr[SuccessGame11|NGuess]+(1-   Pr[SuccessGame11|NGuess])Pr[Guess])C'Qns'+negl(n)
(42)
又根据式(28)~(38),及式(42)可知
Advad1,0(n)Advad1,11(n)+negl(n)                  C'Qns'+negl(n)
(43)
综上,定理2成立.
证毕.

6 协议仿真与性能评估

6.1 协议仿真与效率评估

本文在Intel(R)Core(TM)i5-4590平台上对本文提出的协议以及其他相关协议进行仿真.目标平台为单CPU(四核),操作系统为Windows7,内存为8GB,主频为3.3GHz.本文用python语言实现各种密码原语,其执行时间如表2所示,其中Enc代表加密算法.
表2 密码原语执行时间
操作 执行时间 操作 执行时间
MP.Enc 0.310152048399 MP.SPHF 0.00109302669866
Reg.Enc 0.0433926372716 Reg.SPHF 0.00593389340693
KV.Enc 0.873595026517 KV.SPHF 0.444697060174
SPKE.Enc 13.985888249 SPKE.SPHF 0.00112316393037
GPV.Enc 0.1392346325 GPV.SPHF 0.0097478549383
表3给出了不同协议的计算开销.根据表3,本文协议在客户端具有最优的执行效率,这主要是因为本文协议的客户端加密算法以及GPV.SPHF都具有较高的计算效率,且不需要零知识证明.在服务器端,本文协议的密码原语与K-PAKE-1方案相同,但本文协议在不增加计算开销(表3中K-PAKE-1的计算开销不包括签名验签的时间开销)的同时,解决了K-PAKE-1不能在超多项式模数下应用的问题.
表3 协议效率对比
协议名称 客户端 服务器端
Z-PAKE1 13.9870245578 13.987024017
B-PAKE11 14.6049738586 14.6049722413
L-PAKE-114 0.316085944235 0.0444856664001
L-PAKE-210 0.311245077527 0.311245077527
K-PAKE-19 1.02864704845 1.02864758728
本文方案 0.299152334473 1.16812224452

6.2 协议通信与存储开销评估

为评估协议的通信与存储开销,本文假设l = k = 128 bit,n = 256 bit,m = 6400 bit,log q = 12.表4总结了不同协议的通信、存储复杂度及开销.
表4 通信与存储开销对比
协议名称 Z-PAKE1 B-PAKE11 L-PAKE-114 L-PAKE-210 K-PAKE-19 本文方案

通信

复杂度

O(2(4m - 2n1 + kn1)logq + k O((8m + 2kn - 4n1)logq O(2(m + kn)logq O(2(m + kn)logq O((3mn + 2kn)logq + k O(((mn + 1)+ kn + 1))logq
通信开销 1001600 1394688 940032 940032 59769984 20055552

客户

O((2mn + km + 2n1

+ 8m - 3n1 + n2 + 1)logq + 5k

O((2mn + km + 2n)+ 9m + 3n - 4n1)logq + k O((mn + km + 2n)+ 2m + 3n + 1)logq + 3k O((mn + km + 2n)+ 3m + 2n)logq + 3k O((mn(3k + 2n + 6)+ n (2k + 1))logq + 5k O((mn + 2m + 2n + 1 +(m + n + 1)k)logq + 3k
服务器

O((2mn + km + 2n1

+ 8m - 3n1 + n2 + 1)logq + 5k

O((2mn + km + 2n)+ 9m + 3n - 4n1)logq + k O((mn + km + 2n)+ 3m + 3n + 1)logq + 3k O((mn + km + 2n)+ 3m + 2n)logq + 3k O((mn(3k + 2n + 6)+ n (2k + 1))logq + 5k O((mn(2k+2n+4) + 3n + 1 +(n + 1)k)logq + 3k

存储

开销

客户 50157184 50633088 30440844 30514560 17734832768 30046092
服务器 50157184 50633088 30517644 30514560 17734832768 15178541964
本文协议在客户端具有最低的存储开销,这得益于本文的公共参考序列(CRS)及密文长度较短.在服务器端,本文协议与K-PAKE-1协议选用了相同的加密算法,但其存储开销约是本文协议的1.17倍,这主要是因为本文协议在客户端的密文以及投射密钥的长度更低.在通信开销方面,K-PAKE-1协议约是本文协议的2.98倍,这是因为本文协议不需要传递签名公钥及签名,且客户端的密文长度低.此外,本文纠正L-PAKE-1协议设计中的一个错误:在客户端计算 hC时采用Reg.Hash算法,在服务器端计算 hS时采用MP.Hash算法,才能保证协议的正确性.

7 总结

本文提出了一种格上基于KV密文标准语言和一种基于GPV密文标准语言的平滑投射哈希函数,解决了基于格的平滑投射哈希函数不能在超多项式模数下应用的问题;且所提出的SPHFs还可以应用在零知识证明、不经意传输和证据加密等领域.在此基础上,本文提出了一种格上可证明安全的两轮PAKE协议,可抵抗量子攻击;不需要基于SS-NIZK,具有较高的计算效率;降低了客户端所需的安全性假设,提高了协议的实际安全性;协议只需要两轮通信,具有更优的通信轮次复杂度,这可以提高协议效率、简化协议设计和安全分析过程.最后,本文基于更准确的标准安全模型对所提出的协议进行了严格的安全性证明,安全性证明不需要随机预言机(基于随机预言机设计协议可能会导致PAKE遭受离线口令猜测攻击).实验证明,本文协议具有较高的计算效率;且在不增加通信开销和存储开销的前提下解决了协议不能在超多项式模数下应用的问题.

References

1
ZHANGJ, YUY. Two-round PAKE from approximate SPH and instantiations from lattices[C]//TAKAGI T. Advances in Cryptology-ASIACRYPT2017. Cham, Germany: Springer, 2017: 37-67.
2
KATZJ, VAIKUNTANATHANV. Round-optimal password-based authenticated key exchange[C]//ISHAI Y. Theory of Cryptography Conference. Berlin: Springer, 2011: 293-310.
3
KATZJ, OSTROVSKYR, YUNGM. Efficient password-authenticated key exchange using human-memorable passwords[C]//PFITZMANN B. International Conference on the Theory and Applications of Cryptographic Techniques. Berlin, Germany: Springer, 2001: 475-494.
4
JIANGS, GONGG. Password based key exchange with mutual authentication[C]//HANDSCHUH H. International Workshop on Selected Areas in Cryptography. Berlin, Germany: Springer, 2004: 267-279.
5
GROCEA, KATZJ. A new framework for efficient password-based authenticated key exchange[C]//AL-SHAER E S. Proceedings of the 17th ACM Conference on Computer and Communications Security. Chicago, USA: ACM, 2010: 516-525.
6
REGEVO. On lattices, learning with errors, random linear codes, and cryptography[J]. Proceedings of the Annual ACM Symposium on Theory of Computing, 2009, 56(6): 84-93.
7
ATENIESEG, FELICIG, MANCINIL V, et al. Hacking smart machines with smarter ones: how to extract meaningful data from machine learning classifiers[J]. International Journal of Security & Networks, 2015, 10(3): 137-150.
8
BALUJAS, FISCHERI. Learning to attack: adversarial transformation networks[C]//MCILRAITH S. Thirty-Second AAAI Conference on Artificial Intelligence. California, USA: AAAI Press, 2018: 2687-2695.
9
KATZJ, VAIKUNTANATHANV. Smooth projective hashing and password-based authenticated key exchange from lattices[C]//MITSURU M. International Conference on the Theory and Application of Cryptology and Information Security. Berlin, Germany: Springer, 2009: 636-
652
10
LIZ, WANGD. Achieving one-round password-based authenticated key exchange over lattices[J]. IEEE Transactions on Services Computing, 2019, 2019(8): 1-14.
11
BENHAMOUDAF, BLAZYO, LÉOD, et al. Hash proof systems over lattices revisited[C]//ABDALLA M. IACR International Workshop on Public Key Cryptography. Cham, Germany: Springer, 2018: 644-674.
12
GENNAROR, LINDELLY. A framework for password-based authenticated key exchange[J]. ACM Transactions on Information & System Security, 2006, 9(2): 181-234.
13
YINA, GUOY, SONGY, et al. Two-round password-based authenticated key exchange from lattices[J]. Wireless Communications and Mobile Computing, 2020, 2020(17): 1-13.
14
LIZ, WANGD. Two-round PAKE protocol over lattices without NIZK[C]//GUO F. International Conference on Information Security and Cryptology. Cham, Germany: Springer, 2018: 138-159.
15
ZHANGJ, YUY, FANS, et al. Improved lattice-based CCA2-secure PKE in the standard model[J]. Science China Information Sciences, 2020, 63(8): 22-28.
16
于金霞, 廉欢欢, 汤永利, 等. 格上基于口令的三方认证密钥交换协议[J]. 通信学报, 2018, 39(11): 91-101.
YUJin-xia, LIANHuan-huan, TANGYong-li, et al. Password-based three-party authenticated key exchange protocol from lattices[J]. Journal on Communications, 2018, 39(11): 91-101. (in Chinese)
17
GENTRYC, PEIKERTC, VAIKUNTANATHANV. Trapdoors for hard lattices and new cryptographic constructions[C]//LADNER R. Proceedings of the Fortieth Annual ACM Symposium on Theory of Computing. New York, USA: ACM, 2008: 197-206.
18
ALWENJ, PEIKERTC. Generating shorter bases for hard random lattices[J]. Theory of Computing Systems, 2011, 48(3): 535-553.
19
BELLAREM, POINTCHEVALD, ROGAWAYP. Authenticated key exchange secure against dictionary attacks[C]//PRENEEL B. International Conference on the Theory and Applications of Cryptographic Techniques. Berlin, Germany: Springer, 2000: 139-155.
20
WANGD, CHENGH, WANGP, et al. Zipf's law in passwords[J]. IEEE Transactions on Information Forensics and Security, 2017, 12(11): 2776-2791.
21
WANGD, WANGP. On the implications of zipf's law in passwords[C]//ASKOXYLAKIS I. European Symposium on Research in Computer Security. Cham, Germany: Springer, 2016: 111-131.

Funding

National Natural Science Foundation of China(61501515)
Open Fund of Key Laboratory of Information Assurance Technology(KJ-15-108)
PDF(911 KB)

1503

Accesses

0

Citation

Detail

Sections
Recommended

/