认证密钥交换(authenticated key exchange, AKE)协议用于在开放网络环境下,网络通信实体之间确认彼此身份、协商共享会话密钥,为通信提供机密性、认证性和完整性保障.自Diffie和Hellman提出密钥交换(简称为DHKE[1])概念以来,AKE协议得到广泛的研究和应用,是保障网络通信安全的基础协议之一.
AKE协议的一个重要安全属性是会话密钥的前向安全性(forward secrecy, FS),是指参与会话的用户长期私钥泄露不影响之前已经建立的会话密钥的安全性.随着量子计算技术的发展,FS被赋予了新的含义,即向后量子时代过渡的时期,AKE协议被要求能抵抗未来量子计算机的攻击.后量子的网络通信安全受到越来越多政府、研究机构和学者的关注.2016年美国国家标准与技术研究所(National Institute of Standards and Technology, NIST)开启了下一代密钥交换和数字签名的后量子标准征集工作[2].我国、日本及欧洲也相继开展相关研究项目.
近20年来,基于格(lattice)上困难问题构建密码系统的研究[3-8]取得进展,为后量子密码研究和应用奠定了基础.在Asiacrypt2009会议上,Katz等人[9]提出了首个基于格问题的口令认证密钥交换协议.随后,文献[10-24]分别提出多种基于格上困难问题的密钥交换方案.总体来看,提出的方案分为2种类型:一类采用密钥封装机制(key encapsulation mech-anism, KEM)传输会话密钥材料;另一类则基于格上LWE(ring-learning with errors, Ring-LWE)问题[4,7-8]构造了类似DHKE的密钥交换机制(记为DHKE-like[10,18,20]).需要指出的是,由于缺乏后量子的公钥基础设施(public key infrastructure, PKI)支持,基于格的密钥交换协议在当下还不能作为后量子密钥交换的完整解决方案.一种过渡时期的解决办法是将后量子的(无认证)密钥交换与现有的公钥密码系统整合,利用现有公钥密码技术实现实体的相互认证,典型的方案有Bos等人[18]将基于Ring-LWE问题的DHKE-like机制与TLS[25]握手协议进行整合,实现会话密钥的后量子前向安全性.但是,TLS协议需要多轮信息交换,不适合某些特殊的应用场景,如多方认证、传感器网络、自组织网络和专用网络等.
为了适应更加广泛的网络应用环境,考虑过渡时期对AKE方案的可扩展性需求,本文提出“签密[26](signcryption, SC)+DHKE-like”的可组合AKE架构.
签密的概念由Zheng[26]在1997年的美密会议上提出,能在一个密码学的逻辑步骤中同时实现消息的机密性和认证性,在网络通信领域有着广阔的应用前景,得到了广泛研究.
本文的主要工作是:本文提出以DHKE-like为基础的一轮(2-pass)AKE方案,主要工作包括3个方面:
1) 提出“SC+DHKE-like”架构的通用可组合AKE方案(记为GC-AKE).具体来说,采用具有IND-CCA安全(indistinguishability against chosen ciphertext attacks)和SEUF-CMA[27]安全(strong existentially unforgeable under adaptive chosen mess-ages attacks)的SC机制对DHKE-like中的临时公钥参数进行加密和签名,实现实体认证和会话密钥协商.但是,一个关键问题是,理想格上DHKE-like机制的临时公钥大小为几十Kb,其签密的计算以及通信开销较大.为了降低开销,本文设计了临时公钥特征提取和恢复函数进行特征提取、公钥隐藏和恢复,将认证过程中签密消息的长度从几十Kb降低为n b(本文取n=1 024).
2) 基于现有AKE的安全模型,定义了wAKE-PFS安全模型,重点模拟AKE协议的完美前向安全性(perfect FS, PFS).在wAKE-PFS模型下,本文GC-AKE协议的安全性被规约到敌手求解DDH-like问题(见本文3.1节定义8),以及攻破SC机制的IND-CCA和SEUF-CMA安全性.
3) 考虑到(后量子)过渡时期的实际应用需求,提出一种基于身份的签密(identity-based signcryp-tion, IBSC)机制,以Boneh等人[28]提出的短签名方案BBS为基础扩展而来,在选择身份安全模型下实现了IND-CCA和SEUF-CMA安全性.将IBSC机制与理想格上的DHKE-like组合,可实现用户的相互认证,以及抵抗量子计算机的完美前向安全性.
后量子密钥交换的前期研究工作主要集中于构造无认证的密钥交换方案,或者KEM机制,作为一个独立的密码套件与其他加密原语(如数字签名)进行组合(类似TLS[25]和SIGMA方案[29]),实现实体的认证和密钥交换.比较典型的方案包括:Ding等人[10]提出了格上DHKE-like密钥交换方案;Peikert[16]基于Ring-LWE问题提出了带密钥调节机制的KEM方案;Bos等人[18]采用Peikert的密钥调节机制构造了BCNS-DHKE-like协议及其在一般格上的变形(Frodo[19]);Alkim等人[20]将BCNS-DHKE-like协议进行简化,提出了NewHope方案,将Ring-LWE实例中误差采样的离散高斯分布替换为中心二项分布,以提高采样效率;随后,Alkim等人将NewHope方案变形,提出更加简化的NewHope-Simple KEM[21]方案,并且采用了密文压缩技术以降低通信开销.
在基于格的AKE方面,Fujioka等人[13-14]、Zhang等人[17]、Ding等人[11-12]分别提出一轮隐式认证和密钥交换方案,融合对方实体的长期和临时公钥与自身的长期和临时私钥,以某种方式融入到会话密钥的计算中,实体的相互认证有赖于会话双方计算一致的会话密钥.具体来说,Fujioka等人[13]提出一种通用的AKE构造方法,采用一种称之为“twisted PRF”的技术(类似于NAXOS trick[30]),2个伪随机函数(pseudo-random function, PRF)分别输入实体的长期私钥和临时私钥,相互交织,输出高安全性的密钥材料,实现抵抗长期私钥泄露的伪装攻击和临时私钥泄露攻击.然而,Fujioka方案实例[14]计算过程复杂,通信开销较大,总体的性能较差.Zhang等人[17]基于Ring-LWE问题构造了类似HMQV[31]协议的隐式认证与密钥交换方案.Zhang等人[17]的方案采用了Ding等人[10]提出的DHKE-like密钥交换机制,在会话双方之间协商得到2个近似相等的多项式,通过密钥调节机制,从2个多项式中提取一致的会话密钥材料.但是,在基于Ring-LWE问题的DHKE-like密钥交换中重用公钥被认为存在私钥泄露风险[32-33].为了弥补这一缺陷,Ding等人[12]提出公钥可重用AKE方案,利用一个随机谕言机(一个密码Hash函数)对临时公钥进行结构调整.Yang等人[23]提出一种强安全性的通用AKE方案,采用OT-IND-CCA[23]安全(one-time IND-CCA)的KEM设计了一种OTKEM机制传递密钥材料,使用强不可伪造签名算法实现实体认证,并提出一种基于Ring-LWE问题的OTKEM实例.然而,Yang等人[23]提出的OTKEM实例计算和通信代价太高,难以实际应用.李子臣等人[24]将NewHope-Simple KEM[21]方案变形为公钥加密机制,以此为基础构造了基于Ring-LWE问题的AKE方案.但是,李子臣等人提出的AKE方案不能抵抗密钥重用攻击,具体分析见本文5.2.1节.
此外,Wang等人[15]提出格上的基于身份AKE协议(ID-AKE),采用ABB-IBE[34]加密传输会话密钥材料.该方案构造简单,安全性低,不具有前向安全性.赵秀凤等人[22]提出一种基于BCNS-DHKE-like机制的ID-AKE方案(记为Zhao-AKE).但是,Zhao-AKE方案存在较为严重的安全缺陷,具体在本文5.2.2节分析.由于基于格的IBC系统普遍存在密钥尺寸较大的问题,使得格上基于身份的KEM密文尺寸大,限制了其在AKE领域的应用.就目前的文献来看,尚没有高效、安全的基于格的ID-AKE协议发表.
本文提出一种可组合的AKE方案,重点关注在过渡时期的后量子前向安全性.本文方案采用“SC+DHKE-like”组合,可实现跨密码体制的AKE协议,适应多种应用需求.例如针对过渡时期的网络通信安全需求,本文4.2节提出的GC-AKE实例采用基于椭圆曲线密码(elliptic curve cryptography, ECC)的IBSC与基于Ring-LWE问题的DHKE-like机制组合,实现了跨密码体制的ID-AKE协议.尽管本文方案以BCNS-DHKE-like协议为基础,但是可采用具有DDH-like性质的其他DHKE-like协议(如DHKE[1]和NewHope[20]协议)直接替换.此外,通过将SC机制扩展为多接收者的签密方案,还可以将本文的GC-AKE方案扩展到多方认证的应用环境.对比相关的通用AKE方案,例如文献[14,23],本文方案在实现较强安全性的同时,具有结构简单、可组合的优势,同时在计算、存储和通信开销方面具有一定优势.
本节简要描述本文所使用的数学概念和符号,以及困难数学问题.
2.1.1 双线性映射理论
本节简要阐述与本文相关的双线性对理论及假设,详细内容请参考文献[28,35].
双线性映射:给定素数阶为p的循环群G1,G2和GT,g1和g2分别是G1和G2的生成元,且存在同构函数ψ:G2→G1,使得ψ(g2)=g1成立,定义双线性映射e:G1×G2→GT满足3个性质.
1) 双线性.给定u∈G1,v∈G2和任意的a∈Z
,b∈Z
满足e(ua,vb)=e(u,v)ab.
2) 非退化性.e(g1,g2)≠1.
3) 可计算性.给定任意的u∈G1,v∈G2,能有效计算e(u,v).
CDH(computational Diffie-Hellman)假设.给定
求解
是困难的.其中,i
{1, 2},(a, b)未知.
l-SDH(l-strong Diffie-Hellman)假设.给定l+2个元素的元组
且存在同构函数ψ(g2)=g1,计算输出
是困难的.其中,c∈Z![]()
为了叙述简洁,本文省略了“mod p”运算.
2.1.2 环的定义及困难问题
R=Z[X]
(Xn+1)是一个分圆多项式环,其中,n为2的整数幂,环的元素是系数为整数的多项式.
令Rq=R
qR,Rq的成员用它的所有系数组成的向量表示,每个系数是Zq中的成员,q为整数模量.
令‖·‖和‖·‖
分别表示向量(或多项式)的欧拉范数和无穷范数,令a←UR表示从R中抽取均匀随机的元素a,令χ表示R上的概率分布,e←χ表示从χ中随机抽取元素e.
BCNS-DHKE-like方案以Rq上Ring-LWE问题为基础,下面描述其判定性问题和假设,详细内容请查阅文献[8,18].
定义1. 判定Ring-LWE问题.给定参数(n,q,R,Rq,χ),对随机选择的s←χ,定义谕言机OD,s按2个步骤执行:1)随机选取a←URq和e←χ;2)返回(a,as+e)∈ Rq×Rq.
判定Ring-LWE问题是区分OD,s的输出与Rq×Rq上的随机均匀样本.特定地,定义区分算法A,则A的优势为
Ad
(A)=|Pr(s←χ;AOD,s(·)=1)-
Pr(AU(Rq×Rq)(·)=1)|.
定义1中,s从错误分布 χ中选取,而不是Rq的均匀分布,Lyubashevsky等人[8]证明了s的选取不影响判定Ring-LWE问题的困难性(文献[8]的引理2.24).
本文安全模型以Cremers等人[36]的eCK-PFS模型为基础,融合了王霏和陈明[37]对eCK-PFS模型的扩展.下面对相关概念进行简要阐述,详细内容见文献[36-37]和本文3.3.2节.
会话(session)是协议实例的一次运行,由一个七元组Ts=(sactor, speer, srole, ssent, srecv,sstat, scomp)唯一标识.Ts记录会话s的运行参数,sactor和speer记录实体身份;srole是会话拥有者的角色;ssent和srecv记录发送和接收的消息;sstat记录临时参数;scomp记录会话状态,scomp=T表示会话已完成,scomp=
表示会话未完成.
敌手(adversary)被模拟为一个概率多项式时间图灵机,允许执行如下询问.
1) Send(s, M)询问.模拟敌手发送消息M到会话s.
2) Corrupt(ID)询问.询问用户ID的长期私钥.
3) Ephemeral-key(s)询问.询问会话s的临时秘密.
4) Session-key(s)询问.询问会话s的会话密钥.
5) Test(s*)询问.模拟器随机选择ζ∈{0,1},如果ζ=0,输出s*的会话密钥,否则输出随机的SK←{0,1}λ.其中,λ为安全参数.
下面定义原始会话、匹配会话和会话新鲜性.
定义2. 原始会话[36-37](origin-session, OS).如果会话s′(可能尚未完成)与已完成的会话s满足:
那么s′是s的原始会话,用s′→s表示.
定义3. 匹配会话[36-37](matching-session, MS).如果两个已完成的会话s与s′满足:
那么s与s′互为匹配会话,用s′↔s表示.
定义4. eCK-PFSfresh[36].如果已完成的会话s满足6个条件,那么s满足eCK-PFSfresh.
1) sactor,speer是诚实的参与者;
2) 未执行过Session-key(s)询问;
3) 如果存在s*↔s,则未执行Session-key(s*)询问;
4) 不允许同时执行Ephemeral-key(s)询问和Corrupt(sactor)询问;
5) 对于所有满足s′→s的s′,不允许同时执行Corrupt(speer)询问和Ephemeral-key(s′)询问;
6) 如果不存在s′满足s′→s,那么在s完成之前,不允许执行Corrupt(speer)询问.
安全游戏(security game)被模拟为挑战者C与敌手A之间的一系列测试游戏.游戏分为初始化、询问和挑战3个阶段.初始化阶段,C创建模拟环境.询问阶段,A自适应地执行多项式时间有界(次)的询问,但仅能提交1次Test(s*)询问,C模拟协议的相应算法做出应答.挑战阶段,A输出对Test(s*)询问的猜测ζ′∈{0,1}.如果ζ′=ζ,A赢得游戏.A赢得游戏的优势定义为:![]()
定义5. eCK-PFS[36].如果AKE协议满足2个条件:1)如果2个诚实的参与者完成了一次匹配会话,那么他们能输出相同的会话密钥;2)对多项式时间敌手
是可忽略的.则被认为实现了eCK-PFS安全.
此外,本文定义一类较弱的安全模型,命名为wAKE-PFS,不模拟协议的抗临时秘密泄露攻击(maximal exposure attacks, MEX[13]),即不允许敌手询问会话的临时秘密(Ephemeral-key(s)询问).
定义6. wAKE-PFSfresh.如果已完成的会话s满足5个条件,那么s满足wAKE-PFSfresh.
1) sactor,speer是诚实的参与者;
2) 未执行过Session-key(s)询问;
3) 如果存在s*↔s,则未执行Session-key(s*)询问;
4) 如果不存在s*↔s,但是存在s′→s,则在s完成之前,不允许执行Corrupt(speer)询问.
5) 如果不存在s′满足s′→s,则不允许执行Corrupt(speer)询问.
定义wAKE-PFS模型中,A赢得游戏的优势为:![]()
定义7. wAKE-PFS.如果AKE协议满足2个条件:1)如果2个诚实的参与者完成了一次匹配的会话,那么他们能输出相同的会话密钥;2)对多项式时间敌手
是可忽略的.则被认为实现了wAKE-PFS安全.
除了MEX安全性,wAKE-PFS模型能模拟AKE协议的其它安全属性,包括KCI和PFS.
签密由系统建立、密钥生成、签密和解签密4个算法组成.本文以IBSC为例,定义为:
系统建立.输入安全参数λ,PKG(private-key generator)产生系统的公开参数和主密钥.
密钥生成.输入用户身份ID,密钥生成中心产生用户密钥SK并通过安全信道返回给用户.IBC系统中,用户私钥实质是PKG对用户ID的签名.
签密.输入发送者私钥SKs、接收者身份IDr和待签密消息m,输出密文c←SCIBSC(m,SKs,IDr).
解签密.输入发送者公钥IDs、接收者私钥SKr和密文c,输出明文m←UnSCIBSC(c,SKr,IDs)或者“⊥”(表示密文无效).
签密应同时满足IND-CCA和EUF-CMA安全性,分别归纳为IND-CCA和EUF-CMA的2类安全游戏.本文AKE方案要求IBSC具有强的不可伪造性,以选择身份安全模型为例,定义为:
Gam
.模拟为挑战者C与敌手A之间的挑战游戏,分为初始化、2个阶段的询问和挑战4个阶段.
初始化.C创建系统公开参数和N个用户身份{ID1,ID2,…,IDN},随机选择l∈{1,2,…,N}.
询问1.敌手A自适应地提交多项式时间有界的询问,挑战者C模拟IBSC的相应算法对A的询问进行应答.
1) 密钥询问.A提交用户身份IDi,如果IDi=IDl,则终止模拟,否则C输出IDi的长期私钥.
2) 签密询问.A输入(m,IDs,IDr),C输出签密密文c.
3) 解签密询问.A输入(c,IDs,IDr),如果验证签密密文有效,则输出明文m,否则返回⊥.
挑战.第1阶段询问结束后,A提交挑战身份和2个等长的消息
如果IDr
IDl,则终止模拟,否则C随机选择ζ∈(0,1),返回密文
给A.
询问2.敌手A可以继续执行与询问1相同的询问,但是不允许其询问
的解签密询问.
最后,A输出其猜测ζ′∈(0,1).如果ζ′=ζ,则A猜测成功,定义Gam
中A成功的优势为
Ad
(λ)=|Pr(ζ′=ζ)-1
2|.
Gam
.模拟为挑战者C与敌手A之间的游戏,分为初始化、询问和伪造3个阶段.
初始化和询问阶段与Gam
基本相同.
伪造.询问结束后,A提交其伪造密文c*.如果c*是(IDs,IDr,m*)的有效密文,且IDs =IDl,并且c*从未在询问阶段出现过,则A成功赢得Gam
的优势为:Ad
(λ).
注意,SEUF-CMA与EUF-CMA安全的主要差别在于密文c*中包含的m*是否在询问中出现过.在EUF-CMA模型中,不允许m*在询问中出现,而SEUF-CMA模型则允许m*出现在询问过程中.具体来说,在SEUF-CMA模型中,敌手可以通过签密询问取得t≤qs个
但是要求
其中,qs表示签密询问次数的上界.
本节提出一种以DHKE-like为基础的GC-AKE方案,下面首先简要阐述Bos等人[18]的DHKE-like方案,然后提出本文GC-AKE方案模型.
BCNS-DHKE-like[18]方案在密钥交换双方交换2个近似相等的多项式环成员,采用Peikert[16]定义的密钥调节机制从2个多项式中提取相同的密钥材料.
首先简要介绍Peikert[16]定义的密钥调节机制.
定义MR(modular rounding)函数⎣·⎤q,2和CR(cross-rounding)函数〈·〉q,2为:
⎣·⎤q,2:Zq→Z2,x
⎣x⎤q,2=
2x
q+1
mod 2,
〈·〉q,2:Zq→Z2,x
〈x〉q,2=
4x
q
mod 2.
MR函数和CR函数的输入可扩展为多项式,对多项式的每一个系数分别执行⎣·⎤q,2和〈·〉q,2运算.例如令f=fn-1Xn-1+…+f1X+f0∈Rq,则〈f〉q,2=(〈fn-1〉q,2,…,〈f1〉q,2,〈f0〉q,2)∈R2.
当q为奇数时,为了避免MR
CR函数输出偏倚,需要将模数扩大为2q,定义dbl函数为
dbl: Zq→Z2q,x
![]()
其中,
从{-1,0,1}中选取,选取的概率分别为p-1=p1=1
4,p0=1
2.采用与⎣·⎤q,2和〈·〉q,2运算相同的方法,dbl函数也可扩展到多项式.
定义集合.
I0={0,1,…,
q
2+1
-1},
I1={-
q
2
,…,-2,-1}.
令E=[-q
4,q
4),对与v∈Zq逼近的w∈Zq,令v′=dbl(v)∈Z
调节函数定义为
文献[16]的断言3.1
3.3表明:如果q为奇数,v=w+e∈Zq,w,e∈Zq,且2e±1∈E(mod q),令v′=dbl(v)∈Z2q,b=〈v′〉2q,2,那么rec(2w,b)=⎣v′⎤2q,2.
rec函数同样可扩展到多项式.令v=w+e∈Rq,w∈Rq,e←χ,v′=dbl(v)∈R2q,则![]()
基于Peikert[16]定义的密钥调节机制,Bos等人[18]实现的BCNS-DHKE-like方案如图1所示:
Fig. 1 Unauthenticated Diffie-Hellman-like key exchange
图1 无认证的Diffie-Hellman-like密钥交换方案
取
根据文献[18](命题 2)的分析,BCNS-DHKE-like密钥交换的会话双方输出会话密钥不相等的概率为
定义8. DDH-like problem[18].给定参数(n,q,R,Rq,χ)和1个DHKE-like实例(a,b,b′,c,κ),区分κ是DHKE-like的有效解还是{0,1}n上的随机样本.特定地,对于多项式时间敌手A,定义A赢得DDH-like挑战的优势为
Ad
(A)=|Pr(A(a,b,b′,c,κ)=1)-
Pr(A(a,b,b′,c,κ′)=1)|,
其中,![]()
定理1. 给定参数(n,q,R,Rq,χ),如果判定Ring-LWE问题是难解的,那么DDH-like问题也是困难的.特定地,对于多项式时间敌手A,赢得DDH-like挑战的优势为
![]()
Ad
(A∘B2),
其中,B1和B2为判定Ring-LWE问题的敌手.
定义8和定理1来源于文献[18]的定义3和定理1,文献[18]对定理1进行了安全性规约,本文不再赘述.
结合SC机制,本节提出基于DHKE-like的认证密钥交换方案,基本思路是采用SC方案对DHKE-like方案中的临时公钥进行签密.该临时公钥为Rq上的成员,在具体实现中,采用所有系数组成的向量表示,每个系数是Zq中的成员.根据文献[18]的参数取值,一个临时公钥大小为32 Kb.考虑到本文方案的目标是将临时公钥对敌手隐藏,因此,无需完整加密bA.本文设计算法
和
对临时公钥进行特征提取、信息隐藏、以及公钥恢复.函数F(bA)将bA的每个系数的符号位(多项式的系数表示为区间[-
q
2
,
q
2
]上的整数)取出,按顺序填充为μA∈{0,1}n(n=1 024);然后将bA所有系数的符号位用“0”填充,得到
函数
则为F(bA)的逆变换,利用
和μA恢复出bA.本文方案中仅对μA实施签密,大大降低了计算、通信和存储开销.F(bA)函数的安全性将在本文3.3节讨论.
本文提出的GC-AKE方案包含系统建立、用户密钥生成和密钥交换3个阶段.
1) 系统建立.输入安全参数λ,认证权威运行Setup算法,产生系统参数para={n,q,Rq,χ,a,H}.其中,a←URq,H:{0,1}*→{0,1}λ为密钥导出函数.
2) 用户密钥生成.给定用户的标识为ID,令用户的公私钥为(pkID,skID).这里不具体指定用户密钥生成的方式,可基于PKI系统或者IBC系统等.
3) 密钥交换.如果Alice与Bob期望建立安全会话,按如下步骤进行认证与密钥交换,如图2所示.令Alice,Bob的身份和密钥分别为(IDA,pkA,skA),(IDB,pkB,skB).
Fig. 2 Generic authenticated key exchange protocol
图2 通用的AKE协议
① Alice随机选择tA,eA←χ,计算
发送
给Bob.
② Bob随机选择
计算bB=atB+
发送(bB,cB)给Alice.
③ Alice计算θB←UnSC(cB,skA,pkB),κA← rec(2bBtA,θB),SKAB=H(IDA,IDB,μA,θB,κA).
在理想信道下,如果签密方案满足正确性,且BCNS-DHKE-like密钥交换有效,那么诚实的Alice和Bob能以极大的概率(不小于1-2-217)输出一致的会话密钥,SKAB=SKBA.也就是说,如果密文c是签密算法的有效输出c←SC(μ,ski,pkj),则接收者必然输出有效的μ←UnSC(c,skj,pki),进而认证双方能建立有效的DHKE-like实例(a,bA,bB,μA,θB,κA,κB),使得κA=κB.可见,本文GC-AKE方案满足正确性.
本文GC-AKE方案以无认证DHKE-like方案为基础,组合签密方案,实现实体的认证和密钥协商.DHKE-like方案每次选择新鲜的临时公(私)钥,与用户长期私钥无关,实现了会话密钥的新鲜性和前向安全性;签密方案对发送者和接收者的身份进行了绑定,只有拥有相应私钥的用户才能完成密钥交换,协商一致的会话密钥,融合了显式认证(签名)和隐式认证(加密).本文方案具有可组合的特点,根据不同安全需求,可采用任何满足安全性要求的签密方案和DHKE-like方案进行组合,实现认证密钥交换.例如本文4.2节提出的GC-AKE实例采用基于ECC的IBSC与基于Ring-LWE问题的DHKE-like机制组合,既能满足现实的应用需求,还能实现抵抗量子计算攻击的前向安全性.
本节首先分析F(*)函数的安全性,然后采用wAKE-PFS模型对GC-AKE方案进行安全性规约.
3.3.1 F(*)函数的安全性分析
从3方面分析F(bA)函数的安全性.
1) 分析不同的会话中,μA发生碰撞的概率.令bA=atA+eA,其中,a为Rq上均匀随机的成员,根据判定Ring-LWE假设,bA也(近似)均匀随机,同时根据文献[18]的算法实现,多项式环的每个系数独立抽样,则a的系数在Z
上随机均匀分布,进而bA的系数在Z
上也近似均匀分布.多项式的系数表示为区间[-
q
2
,
q
2
]上的整数,系数的符号位
将系数的值划分为相等的2个值空间[-
q
2
,0)和[0,
q
2
],因此bA的每个系数的符号位等于“0”的概率近似为1
2,那么μA发生碰撞的概率近似于2-1 024.可得,在不同的会话中,μA发生碰撞的概率可忽略.
2) 分析敌手完整恢复bA的概率.同上,由于bA的每个系数的符号位等于“0”的概率近似为1
2,则敌手完整恢复bA的概率为max(2-1 024,εSC).其中,εSC为敌手攻破SC方案IND-CCA安全的概率.
3) 假定bA的系数中至少存在一个系数没有正确恢复,这一错误使得该系数出现在2个独立的值空间[-
q
2
,0)和[0,
q
2
].根据多项式乘法,这一错误会扩散到
的所有系数.按照Peikert[16]定义的调节机制,此种情形下,敌手(仿冒Bob)与Alice输出一致会话密钥的概率趋近于0.
3.3.2 GC-AKE方案安全性规约
本文采用wAKE-PFS模型对GC-AKE方案进行安全性规约.与eCK-PFS模型不同,wAKE-PFS模型不允许敌手询问会话的内部状态(临时秘密参数).
根据wAKE-PFSfresh定义,本文主要考虑6种攻击场景S1~S6,如表1所示.令s表示Test会话,s分为发起者会话(I)和响应者会话(R)这2类,每一类会话分别存在3种情形:1)存在s*↔s(则至少存在一个原始会话s*→s);2)不存在s*↔s,但存在s′→s;3)s*↔s和s′→s都不存在.表1中,MS表示匹配会话,OS表示原始会话;Yes表示存在s*↔s或s′→s,No则表示不存在;allowed表示允许敌手执行Corrupt询问,allowed*表示在s完成之前不允许敌手执行Corrupt询问,disallowed表示不允许敌手执行Corrupt询问.
Table 1 Simulation Scenarios of wAKE-PFS Model
表1 wAKE-PFS模拟场景
ScenariosCorrupt(sactor)Corrupt(speer)sroleMSOSS1allowedallowedIYesYesS2allowedallowed*INoYesS3alloweddisallowedINoNoS4allowedallowedRYesYesS5allowedallowed*RNoYesS6alloweddisallowedRNoNo
Note: * The adversary can make the Corrupt(speer) query after the challenge session has been completed.
表1中,所有场景均允许敌手询问会话拥有者的私钥(Corrupt(sactor)询问),表明所有场景均可模拟密钥泄露伪装攻击(KCI);S1和S4场景允许敌手在任意时刻询问挑战会话双方的私钥,由于s存在匹配会话,限制了敌手在挑战会话中主动注入临时秘密的能力,而场景S2和S5允许敌手在s完成之后询问对端实体的私钥(Corrupt(speer)),能模拟协议的完美前向安全性(PFS).
“BR+wPFS”模型不区分匹配会话与原始会话,不能模拟S2,S5;S2,S5分别包含在S3,S6中;这是wPFS与PFS安全性的主要区别.
定理2. 给定参数(n,q,R,Rq,χ),如果DDH-like假设成立,并且SC方案满足IND-CCA和SEUF-CMA安全性,那么本文提出的GC-AKE协议满足wAKE-PFS安全.
证明. 首先考虑定义7的第1个条件,2个诚实的用户完全如实地按照协议执行,如果他们完成了一次匹配的会话,根据匹配会话条件,如果SC方案有效,接收方能正确恢复bA和θB,进而,密钥交换双方能输出相同的会话密钥SKAB=SKBA,且Pr(SKAB=SKBA)≥1-2-217.
其次,对于定义7的第2个条件,根据安全游戏,本文将GC-AKE协议的安全性规约为求解DDH-like问题和攻破SC方案的IND-CCA和SEUF-CMA安全性.
表1所概括的6种场景分别对应一个安全游戏.考虑到模拟过程冗长且差别不大,本文选取场景S1,S3和S5进行详细叙述.场景S1模拟AKE协议的弱前向安全性(wPFS),S5模拟AKE的完美前向安全性(PFS),S3重点模拟AKE协议的KCI安全性.
游戏过程模拟为敌手A与挑战者C之间的一系列游戏.C激活一个模拟器产生系统公开参数,创建N个独立的用户P={ID1,ID2,…,IDN},发送给敌手A,接受敌手的询问并做出相应的应答.令π表示本文GC-AKE协议,Sj表示游戏GameSi.j(i∈{1,2,3,4,5,6},j∈{0,1,2,3,…})中敌手猜测成功的事件,那么GameSi.j中敌手赢得游戏的优势定义为:εj=|2Pr(Sj)-1|.令N,qI,qR分别表示游戏中创建的用户数、发起者会话数和响应者会话数的上界.注意,模拟过程中,C将所有签名验证不成功的询问作为无效询问.
下面首先叙述S1的模拟过程,由一系列游戏GameS1.j组成.
GameS1.0:GameS1.0模拟真实的攻击场景,A自适应地提交询问,C按照协议π和安全模型的定义对A的询问做出应答,那么A赢得游戏的优势为:ε0=|2Pr(S0)-1|.
GameS1.1:在GameS1.0的基础上,GameS1.1考虑一些小概率的碰撞事件,比如在不同的会话中发生临时参数碰撞或者Hash碰撞等,当出现此类事件则模拟失败.令E1表示上述小概率事件,根据差分引理(文献[36]引理1):
|Pr(S0)-Pr(S1)|≤Pr(E1),
ε0=|2Pr(S0)-1|=2|Pr(S0)-Pr(S1)+
Pr(S1)-1
2|≤2(|Pr(S0)-Pr(S1)|+
|Pr(S1)-1
2|)≤ε1+2Pr(E1).
那么,GameS1.1中A成功的优势为:ε1≥ε0-negl(λ).其中,negl(λ)为一个可忽略的函数,表示E1发生的概率.
GameS1.2:在GameS1.1的基础上,GameS1.2考虑一类较大概率的失败事件E2.模拟开始之前,C随机选择d ∈{1,2,…,qI},t∈{1,2,…,qR},令s*表示游戏中的第d个发起者会话,s″表示游戏中的第t个响应者会话.令E2表示A发起了Test(s)询问,但是s≠s*或者s″↔s*不成立,或者
如果E2发生,算法终止,A输出随机的ζ′∈(0,1),则A猜测成功的概率Pr(S2|E2)=1
2;如果E2不发生,则GameS1.2与GameS1.1相同,A猜测成功的概率
那么,GameS1.2中A猜测成功的概率:
Pr(S2)=Pr(S2|E2)Pr(E2)+![]()
![]()
![]()
由于d和t随机选择,且发起者会话和响应者会话相互独立,E2不发生的概率
则A成功的优势为
ε2=|2Pr(S2)-1|=![]()
GameS1.3:在GameS1.2的基础上,GameS1.3模拟对DDH-like问题的挑战.给定一个DDH-like问题实例(a,b*,b″,θ″,κ*),模拟过程描述为:
1) C按照真实协议的系统建立算法生成系统公开参数para={n,q,Rq,χ,a,H}发送给A.
2) C按照协议的密钥生成算法生成用户密钥(pkID,skID),将(ID,pkID,skID)插入初始为空的列表LID.
3) A提交Send(s,IDj)询问激活发起者会话s.令sactor=IDi,如果s=s*,C计算(b′*,μ*)←F(b*),c*←SC(μ*,skIDi,pkIDj),将(b′*,c*)返回给A(事件E3);否则,C按照协议步骤计算响应消息(bi,ci)返回给A.最后更新Ts.
4) A提交Send(s,IDj,M)询问激活响应者会话s,令sactor=IDi,如果s=s″,C计算c″←SC(θ″,skIDi,pkIDj),将(b″,c″)返回给A(事件E3);否则,C按照协议步骤计算得到sstat=(bj,bi,μj,θi,ci,κi,SKij),返回响应消息
给A.最后更新Ts并置scomp=T.
5) A提交Send(s,M)询问.如果s是一个已激活的发起者会话,且scomp≠T,且如果s=s*,则置scomp=T;否则C按照协议计算得到sstat=(bi,bj,μi,ci,θj,κi,SKij),更新Ts并置scomp=T;否则忽略.
6) A提交Corrupt(ID)询问.如果ID∈P,则查询LID返回用户ID的私钥,否则返回⊥.
7) A提交Reveal(s)询问,如果s=s*∨s↔s*,算法终止(破坏wAKE-PFSfresh);否则,如果s不存在或scomp≠T则返回⊥;否则C查询sstat,返回相应的SKij.
8) A提交Test(s)询问,如果事件E2发生则算法终止;否则,C计算并输出会话密钥
事件E4).
9) 最后,A输出其猜测ζ′∈(0,1),则C直接输出ζ′作为对DDH-like挑战的应答(事件E5).
GameS1.3与GameS1.2在事件E3~E5不同.事件E3描述用给定的DDH-like挑战实例(a,b*,b″,θ″)替换挑战会话s*及其匹配会话s″的输出.假定(a,b*,b″,θ″)独立于A的视角,则敌手不能区分GameS1.3和GameS1.2.事件E4和事件E5都是C的内部事件,对A透明.假设在DDH-like挑战中,ζ=0表示κ*是DDH-like实例(a,b*,b″,θ″)的有效的解,则ζ=1表示κ*是{0,1}n上的随机值.Test(s)询问中,SK*根据κ*计算得到,如果ζ=0,则SK*是挑战会话s*的正确会话密钥;如果ζ=1,则SK*与随机的SK*←U{0,1}λ不可区分,则GameS1.3和GameS1.2的Test(s)询问输出同分布.因此,敌手不能根据E4和E5区分GameS1.3和GameS1.2.则GameS1.3中敌手成功的优势:ε3≥ε2-negl(λ).
下面分析GameS1.3中A猜测成功的概率的上界.如果A猜测成功,则C也必然猜测成功.令εddhl=Ad
(λ)表示C赢得DDH-like挑战的优势,则GameS1.3中敌手A猜测成功的概率为:Pr(S3)≤εddhl+1
2.那么A成功的优势为: ε3=|2Pr(S3)-1|≤2εddhl.
根据系列游戏结果,A赢得GameS1的优势为:ε≤ε1+negl(λ)≤qIqRε2+negl(λ)≤2qIqRεddhl+negl(λ).
场景S1的模拟到此结束,下面叙述场景S3的模拟过程.
GameS3.0:与GameS1.0相同,GameS3.0模拟真实的攻击场景,A赢得游戏的优势为:ε0=|2Pr(S0)-1|.
GameS3.1:与GameS1.1相同,在GameS3.0的基础上,GameS3.1考虑一些小概率的碰撞事件,则A成功的优势为:ε1≥ε0-negl(λ).
GameS3.2:在GameS3.1的基础上,考虑一类较大概率的失败事件E2.模拟开始前,C随机选择d∈{1,2,…,qI}和t∈{1,2,…,N},令s*表示第d个发起者会话,ID*表示创建的第t个用户.令E2表示A发起了Test(s)询问,但是s≠s*∨speer≠ID*∨
如果E2发生,则算法终止,A输出随机的ζ′∈(0,1).如果E2不发生,A猜测成功的概率与GameS3.1相同,有
如果E2发生则Pr(S2|E2)=1
2.与GameS1.2类似,A成功的优势为:![]()
GameS3.3:在GameS3.2的基础上,GameS3.3考虑对SC算法的SEUF-CMA攻击.C创建模拟环境,构造谕言机OSC模拟SC算法的签密和解签密运算,运行子算法B,游戏模拟如下.
B维护初始为空的列表LSC=(IDi,IDj,ν,c).
步骤1)、2)与GameS1.3相同.
3) A提交Send(s,IDj)询问激活发起者会话s.令sactor=IDi,B按协议步骤随机选择ti,ei←χ,计算
将μi询问谕言机OSC得到密文ci,返回响应消息
给A.最后更新Ts,将(IDi,IDj,μi,ci)插入LSC.
4) A提交Send(s,IDj,M)询问激活响应者会话s,令
如果cj∉LSC是与IDj相关的可验证有效的签密密文,IDj=ID*是密文cj的签名者身份,那么B输出cj作为对SEUF-CMA挑战的应答,然后终止模拟(事件E3);否则,B询问谕言机OSC,解密cj得μj并恢复bj,然后按照协议计算
将θi提交谕言机OSC得到密文ci,返回响应消息(bi,ci)给A.最后更新Ts并置scomp=T,将(IDi,IDj,θi,ci)插入LSC.
5) A提交Send(s,M)询问.如果s是一个已激活的发起者会话,且scomp≠T,令sactor=IDi,M=(bj,cj).如果cj∉LSC是与IDj相关的可验证有效的签密密文,IDj=ID*是密文cj的签名者身份,那么B输出cj作为对SEUF-CMA挑战的应答,然后终止模拟(事件E3);否则,B 询问谕言机OSC,解密cj得θj,按照协议计算得到sstat=(bi,bj,μi,ci,θj,κi,SKij),更新Ts并置scomp=T;否则忽略.
6) A提交Corrupt(ID)询问.如果ID=ID*,则算法终止(破坏wAKE-PFSfresh);否则,如果ID∈P,B向C提交密钥询问返回用户ID私钥,否则返回⊥.
7) A提交Reveal(s)询问,如果s=s*∨s↔s*,算法终止(破坏wAKE-PFSfresh);否则,如果s不存在或scomp≠T则返回⊥;否则B查询sstat,返回对应的会话密钥SKij.
8) A提交Test(s)询问,如果事件E2发生则算法终止;否则,B随机选择ζ∈(0,1),如果ζ=0,则查询
输出会话密钥SK*,否则输出随机的SK*←U{0,1}λ.
9) 最后,A输出其猜测ζ′∈(0,1).
模拟过程中,GameS3.3用谕言机OSC替换了GameS3.2中的SC算法,假定谕言机OSC与签密运算的输出同分布,如果事件E3不发生,则敌手无法区分GameS2.3与GameS2.2.如果事件E3发生,则B赢得SEUF-CMA挑战,令εB=Ad
(λ)表示算法B赢得挑战的优势,则![]()
如果事件E3发生,算法终止,A输出随机的ζ′∈(0,1),则Pr(S3|E3)=1
2.如果事件E3不发生,则
因此有:
可得A成功的优势为:![]()
GameS3.4:在GameS3.3的基础上,GameS3.4考虑对SC算法的IND-CCA攻击.C创建模拟环境,运行子算法F,游戏模拟如下.
F维护初始为空的列表LSC=(IDi,IDj,ν,c).
步骤1)、2)与GameS1.3相同.
3) A提交Send(s,IDj)询问激活发起者会话s.如果s=s*,F随机选择t*,e*←χ,计算
然后随机选择
将
作为IND-CCA挑战明文提交给C,C返回挑战密文
将
返回给A(事件E4);否则,令sactor=IDi,F按协议步骤随机选择ti,ei←χ,计算
将μi询问谕言机OSC得到密文ci,返回响应消息
给A.最后更新Ts,将(IDi,IDj,μi,ci)插入LSC.
4) A提交Send(s,IDj,M)询问激活响应者会话s,令
如果
令bj=b*,按照协议计算
如果
则随机选择(bi,θi)(事件E5);否则,F询问谕言机OSC,解密cj得μj并恢复bj,然后按照协议计算
将θi提交谕言机OSC得到密文ci,返回响应消息(bi,ci)给A;更新Ts并置scomp=T,将(IDi,IDj,θi,ci)插入LSC.与GameS3.3相同,如果cj∉LSC是与IDj相关的可验证有效的签密密文,IDj=ID*是密文cj的签名者身份,则终止模拟.
5) A提交Send(s,M)询问.如果s是一个已激活的发起者会话,且scomp≠T,令M=(bj,cj),如果
则置scomp=T(事件E6);否则,F询问谕言机OSC,取得cj的明文θj,按照协议计算得到sstat=(bi,bj,μi,ci,θj,κi,SKij),更新Ts并置scomp=T;否则忽略.与GameS3.3相同,如果cj∉LSC是与IDj相关的可验证有效的签密密文,IDj=ID*是密文cj的签名者身份,则终止模拟.
6) A提交Corrupt(ID)询问.如果ID=ID*,则算法终止;否则,如果ID∈P,F向C提交密钥询问,将得到的用户私钥返回给A,否则返回⊥.
7) A提交Reveal(s)询问,如果s=s*∨s↔s*,算法终止;否则,如果s不存在或scomp≠T则返回⊥;否则查询sstat,如果存在SKij,则返回SKij;否则返回随机的SKij←U{0,1}λ(事件E7).
8) A提交Test(s)询问,如果事件E2发生则算法终止;否则随机选择ζ∈(0,1),如果ζ=0,F查询
计算κ*← rec(2b′t*,θ′),输出
否则输出随机的SK*←U{0,1}λ.
9) 最后,A输出其猜测ζ′∈(0,1),则C输出ζ′作为对IND-CCA挑战的应答.
模拟过程中,GameS3.4与GameS3.3在事件E4~E7不同.事件E4描述F在挑战会话中植入IND-CCA挑战,根据本文3.3.1节的分析,
(近似)随机均匀分布,与随机选择的
同分布,则A区分GameS3.4与GameS3.3的概率是可忽略的.事件E5和E6描述敌手的恶意询问,提交了非正常的输入消息(小概率的参数碰撞事件在GameS3.1模拟,这里不考虑).在E5中,(bi,θi)为随机选择,根据判定Ring-LWE假设,敌手无法区分(bi,θi)是否是一个真实的DHKE-like样本;E6是F的内部事件对A透明.因此,A通过事件E5和E6区分GameS3.4与GameS3.3的概率是可忽略的.事件E7描述对事件E5和E6相关会话输出随机的SKij←U{0,1}λ.事件E5中,会话输出随机的(bi,θi),事件E6中,
对应的明文
由发起者会话输出且(近似)随机均匀分布,与响应者会话的DHKE-like样本无关,因此,在事件E5和E6中,会话密钥的生成不与任何有效的DHKE-like样本相关,则敌手通过事件E7区分GameS3.4与GameS3.3的概率是可忽略的.通过上述分析,A成功的优势为:ε4≥ε3-negl(λ).
下面给出GameS3.4中A猜测成功的概率的上界.假设在IND-CCA挑战中,ζ=0表示
是
的密文,则ζ=1表示
是
的密文.令
根据第3)步有
询问中,如果ζ=0,则
那么(b*,b′,θ′,κ*)是一个有效的DHKE-like实例,SK*是挑战会话s*的有效的会话密钥;如果ζ=1,则
e*,又或者
中的(b′,θ′)与
无关,由敌手随意生成,那么
不是有效的DHKE-like实例,F输出随机的SK*←U{0,1}λ,则GameS3.4和GameS3.3的Test(s)询问输出同分布.F根据A的猜测结果输出对IND-CCA挑战的应答,如果A猜测成功,则F也必然猜测成功.令εF=Ad
(λ)表示F赢得IND-CCA挑战的优势,则敌手A猜测成功的概率为:Pr(S4)≤ εF+1
2.则A成功的优势为:ε4=|2Pr(S4)-1|≤2εF.
根据系列游戏结果,A赢得游戏GameS3的优势为:ε≤2NqIεF
(1-εB)+negl(λ).
场景S3的模拟到此结束,下面叙述场景S5的模拟过程.
GameS5.0:与GameS1.0相同,GameS5.0模拟真实的攻击场景,A赢得游戏的优势为:ε0=|2Pr(S0)-1|.
GameS5.1:与GameS1.1类似地,在GameS5.0的基础上,GameS5.1考虑小概率碰撞事件,A成功的优势为:ε1≥ε0-negl(λ).
GameS5.2:与GameS1.2类似,GameS5.2考虑一类较大概率的失败事件E2.模拟开始前,C随机选择d ∈{1,2,…,qR}和t∈{1,2,…,N},令s*表示第d个响应者会话,ID*表示创建的第t个用户.令E2表示A发起了Test(s)询问,但是
如果E2发生,则算法终止,A输出随机的ζ′∈(0,1).类似地,A成功的优势:![]()
GameS5.3:与GameS3.3类似,在GameS5.2的基础上,GameS5.3考虑对SC算法的SEUF-CMA攻击.C创建模拟环境,运行子算法B,游戏模拟如下.
B维护初始为空的列表LSC=(IDi,IDj,ν,c).
步骤1)、2)、3)与GameS3.3相同.
步骤4)和5)与GameS3.3基本相同.不同之处在于事件E3的触发条件:如果cj∉LSC是与IDj相关的可验证有效的签密密文,IDj=ID*是密文cj的签名者身份,且敌手尚未执行Corrupt(ID*)询问,那么B输出cj作为对SEUF-CMA挑战的应答.
6) A提交Corrupt(ID)询问.如果ID=ID*,且
则算法终止;否则,如果ID∈P,B向C提交密钥询问,返回用户ID的私钥,否则返回⊥.
步骤7)、8)、9)与GameS3.3相同.
根据表1,场景S5允许敌手在挑战会话完成之后
询问ID*的私钥.因此对签名的伪造事件(E3)只能是在Corrupt(ID*)询问之前发生,与GameS3.3相同,如果事件E3发生,则B赢得SEUF-CMA挑战,令εB=Ad
(λ)表示赢得SEUF-CMA挑战的优势,则Pr(E3)≤εB.那么A成功的优势为
![]()
(1-εB)ε2.
下面,给出GameS5.3中A猜测成功的概率的上界.如果事件E3不发生,根据场景S5的定义必然存在s′→s*,使得
由于会话s′和s*均由模拟器生成,令t′,e′,t*,e*,e′*←χ为B随机选择,
显然(b′,b*,θ*,κ*)是一个有效的DHKE-like实例,根据κ*计算的SK*是s*的有效会话密钥.此时,A猜测成功的概率为
如果事件E3发生,则A输出随机的ζ′∈(0,1),则Pr(S3|E3)=1
2.那么GameS5.3中A成功的优势为:
![]()
2Pr(S3|E3)Pr(E3)-1|≤![]()
根据系列游戏结果,A赢得游戏GameS5的优势为:ε≤2NqRεddhl
(1-εB)+negl(λ).
场景S4,S6,S2的模拟过程分别与场景S1,S3,S5类似,限于论文篇幅,这里不再详述.综合上述游戏模拟,可得敌手A成功的优势Ad
(λ)是可忽略的.因此,定义7的第2个条件得证.
证毕.
本节提出一种基于GC-AKE架构的ID-AKE方案,采用基于身份的签密(IBSC)方案.根据GC-AKE架构的要求,IBSC方案应同时满足IND-CCA和SEUF-CMA安全性.
本文的IBSC方案来源于Boneh和Boyen[28]提出的BBS签名,王霏等人[37]将BBS签名扩展为基于身份的签名,本文进一步将其扩展为IBSC方案.下面简要描述BBS方案及其扩展.
4.1.1 BBS签名
BBS签名基于双线性映射理论,相关背景知识和符号定义见本文2.1节.
给定签名者的公私钥对:PK=(g1,g2,u,v,α),SK=(x,y).其中,g1和g2分别是群G1和G2的生成元,x∈Z
Z![]()
BBS签名.输入待签名消息m∈Z
和用户私钥SK=(x,y),随机选择r∈Z
计算
输出签名(σ,r).
BBS签名验证.收到消息m的签名(σ,r),输入公钥PK=(g1,g2,u,v,α),验证
是否成立,若等式成立则接受签名,否则拒绝签名.
定理3[28]. 如果群G1,G2,GT上的(q,t′,ε′)-SDH假设成立,则BBS签名实现了(t,qs,ε)-SEUF-CMA安全.其中,qs<q,ε≈2ε′,t≤t′-Θ(q2T),T为G1和G2上求幂的最大次数.
文献[28]对其进行了证明,这里不再赘述.
4.1.2 IBSC方案
IBSC方案描述如下.
系统建立.输入安全参数λ,PKG产生系统公开参数param={G1,G2,GT,g1,g2,e,α,P0,H1,H2,H3,H4,H5}.其中,e:G1×G2→GT为满足条件的双线性映射;
为PKG公钥,s∈Z
为PKG主密钥;H1:{0,1}ID×G2→Z
Z
Z
为密码Hash函数.
密钥生成.提交用户身份ID,PKG随机选择r1∈Z
Z
Z
计算R1=
,R2=
,R3=
,q1=H1(ID,R1),q2=H1(ID,R2),q3=H1(ID,R3),x=r1+sq1,y=r2+sq2,z=r3+sq3,输出用户私钥SKID=(x,y,z);令
则用户公钥PKID=(u,v,w).
签密(SCIBSC).输入待签密消息m∈{0,1}n,发送者身份IDs及密钥SKs=(xs,ys,zs),接收者身份及公钥参数(IDr,R3r),步骤计算为:
1) 随机选择η∈{0,1}n,计算![]()
2) 随机选择t∈Z
计算ϑ=H5(W,τ,ω,m),σ=
,输出签密密文c=(W,τ,ω,σ,t).
解签密(UnSCIBSC):输入密文c=(W,τ,ω,σ,t),发送者身份及公钥(IDs,R1s,R2s),接收者身份IDr及密钥SKr=(xr,yr,zr),步骤计算为:
1) 计算η′=τ⊕H3(Wzr),m′=H4(η′)⊕ω,ι′=H2(η′,m′),验证等式
是否成立,若成立则继续下一步,否则返回⊥.
2) 计算ϑ′=H5(W,τ,ω,m′),q1s=H1(IDs,R1s),q2s=H1(IDs,R2s),us=R1s
,vs=R2s
,验证等式
是否成立,若等式成立则输出m′,否则返回⊥.
需要说明的是,本文IBSC方案沿用文献[28]的符号定义,采用标准离散群的数学描述,具有更好的通用性.在具体实现中,为了降低开销,BBS签名可采用定义在y2=x3+2x±1上的椭圆曲线和超奇异椭圆曲线构建ECC系统.在本文第5节的分析中,也采用了基于ECC的方案.
4.1.3 IBSC方案安全性分析
定理4. 如果群G1,G2,GT上的SDH假设和CDH假设成立,则本文IBSC方案满足IND-CCA安全性.特定地,如果A赢得Gam
的优势为ε,则C成功解决CDH问题的优势为Ad
(λ)≥2ε
NqH3.其中,qH3表示模拟过程中H3询问的最大次数.
证明. 本文将IBSC方案的IND-CCA安全性规约到模拟器C利用敌手A求解CDH问题.给定CDH问题实例:
利用A输出CDH挑战的解gab.下面模拟C和A之间的游戏.模拟之前,C选择i∈{1,2,…,N},令IDi=ID*表示创建的第i个用户身份.
初始化.输入安全参数λ,挑战者C生成系统公开参数param={G1,G2,GT,g1,g2,e,α,P0,H1,H2,H3,H4,H5}.其中,H1,H2,H3,H4,H5模拟为随机谕言机.C维护初始为空的L1=(ID,R,h1),L2=(η,m,h2),L3=(U,h3),L4=(η,h4),L5=(W,τ,ω,m,h5)和LID=(ID,R1ID,R2ID,R3ID,r1ID,r2ID,r3ID,xID,yID,wID)分别记录H1,H2,H3,H4,H5询问和用户密钥.
询问1.A自适应地执行多项式时间有界的询问,C模拟IBSC方案的相应算法做出应答.注意:询问中随机选择的参数出现碰撞则重新选择.
1) 创建用户.在其他询问之前要先创建用户.输入IDi,如果IDi=ID*,C随机选择
令
计算
表示μ在G2上的乘法逆元),然后随机选择
按照密钥生成算法计算得到
最后,将
和
分别插入LID和L1;否则,C随机选择r1i,r2i,r3i∈Z
按照密钥生成算法产生(R1i,R2i,R3i,xi,yi,zi),然后将(IDi,R1i,R2i,R3i,r1i,r2i,r3i,xi,yi,zi)插入LID.注意:其中的H1运算替换为H1询问.
2) H1询问.输入(IDi,Ri),C查询L1,如果存在(IDi,Ri,h1i),则直接输出h1i;否则,随机选择并输出h1i∈Z
然后将(IDi,Ri,h1i)插入L1.
3) H2询问.输入(ηi,mi),C查询L2,如果存在(ηi,mi,h2i),则输出h2i;否则,随机选择并输出h2i∈Z
将(ηi,mi,h2i)插入L2.
4) H3询问.输入Ui,C查询L3,如果存在(Ui,h3i),则输出h3i;否则,随机选择并输出h3i∈{0,1}n,将(Ui,h3i)插入L3.
5) H4询问.输入ηi,C查询L4,如果存在(ηi,h4i),则输出h4i;否则随机选择输出h4i∈{0,1}n,将(ηi,h4i)插入L4.
6) H5询问.输入(Wi,τi,ωi,mi),C查询L5,如果存在(Wi,τi,ωi,mi,h5i),则输出h5i;否则,随机选择并输出h5i∈Z
将(Wi,τi,ωi,mi,h5i)插入L5.
7) 密钥询问.输入IDi,如果IDi=ID*,则C终止模拟;否则如果LID中存在(IDi,*,*,*,*,*,*,xi,yi,zi)则返回(xi,yi,zi)给A,否则返回⊥.
8) 签密询问.输入(IDs,IDr,mi),C按照SCIBSC算法计算并输出ci=(Wi,τi,ωi,σi,ti),其中的H1,H2,H3,H4,H5运算替换为对应的谕言机询问.注意:用户ID*的加密公钥为
签名密钥为(x*,y*).
9) 解签密询问.输入ci=(Wi,τi,ωi,σi,ti),C查询L2,L3,L4,L5,如果存在(η,m,h2),(U,h3),(η,h4),(Wi,τi,ωi,m,h5),使得下列等式成立:
则返回明文m;否则返回⊥.
挑战.第1阶段询问结束后,A提交挑战身份和2个等长的消息
如果IDr≠ID*则终止模拟;否则C随机选择ζ∈(0,1),ι*,ϑ*,t*∈Z
令
返回挑战密文c*=(W*,τ*,ω*,σ*,t*)给A,然后将
和
ϑ*)分别插入L3,L4和L5.
询问2.A可以继续提交询问,询问过程与第1阶段相同,但是不能提交c*=(W*,τ*,ω*,*,*)的解签密询问.
第2阶段询问结束后,A输出其猜测ζ′∈(0,1).C随机选择Ui∈L3,计算
作为对CDH挑战的应答.
令事件E表示:A提交了H3(U*)询问,并且![]()
如果事件E不发生,则模拟过程完备.在以上模拟中,如果事件E不发生,A的视图与其在真实攻击中的视图是不可区分的.这是因为:1)由于将Hash函数模拟为随机谕言机,根据随机谕言假设,随机谕言机的输出与Hash函数输出同分布,敌手不能区分;2)τ*=η*⊕H3(U*)相当于对随机选择的加密密钥材料η*做一次一密加密,如果事件E不发生,则A得不到η*的任何信息,从而也得不到
的任何信息.所以对A来说,2种视图不可区分.
那么有
则:
A赢得Gam
的优势为:ε=|Pr(ζ′=ζ)-1
2|≤1
2Pr(E),那么事件E发生的概率Pr(E)≥2ε.因此,模拟结束后,U*以至少2ε的概率出现在L3中,由于C随机选择Ui∈L3,则C挑战成功的优势为:Ad
(λ)≥2ε
qH3.其中,qH3表示模拟结束后L3中的项目数.
证毕.
定理5. 如果群G1,G2,GT上的SDH假设和CDH假设成立,且BBS方案满足SEUF-CMA安全性,则本文IBSC方案满足SEUF-CMA安全性.特定地,假设A赢得Gam
的优势为ε,那么模拟器C0成功赢得BBS挑战的优势为Ad
≥ε.
证明. 我们将IBSC方案的不可伪造性规约到BBS方案的SEUF-CMA安全性.规约过程分为初始化、询问和伪造3个阶段,包含2类模拟器C0和C1,以及敌手A.规约形式采用嵌套的游戏模拟方式,外层模拟以C0为模拟器,A为敌手,内层模拟(BBS挑战游戏,参考文献[28])以C1为模拟器,C0为敌手,C0可以向C1提交BBS签名询问,最后向C1提交伪造的BBS签名.模拟之前,C0选择i∈{1,2,…,N},令IDi=ID*表示创建的第i个用户身份.
初始化.输入安全参数λ,挑战者C1产生BBS挑战游戏的公开参数(G1,G2,GT,g1,g2,e,u*,v*,α)发送给模拟器C0,C0产生IBSC游戏公开参数param={G1,G2,GT,g1,g2,e,α,P0,H1,H2,H3,H4,H5}.与定理4的证明过程相同,H1,H2,H3,H4,H5模拟为随机谕言机,C0维护初始为空的L1,L2,L3,L4,L5和LID分别记录H1,H2,H3,H4,H5询问和用户密钥.此外,C0维护初始为空的LSC=(Wi,τi,ωi,hi,σi,ti)记录签密询问的结果.
询问.A自适应地提交多项式时间的下列询问.
1) 创建用户.在其他询问之前C0先创建用户.输入IDi,如果IDi=ID*,C0随机选择
计算
然后随机选择
Z
按照密钥生成算法计算得到
最后将
和
分别插入LID和L1;否则,C0按照密钥生成算法产生用户密钥,然后将(IDi,R1i,R2i,R3i,r1i,r2i,r3i,xi,yi,zi)插入LID.
步骤2)~7)与定理4证明过程相同.
8) 签密询问.输入(IDs,IDr,mi),如果IDs=ID*,C0按照SCIBSC算法第1)步计算得到(Wi,τi,ωi),提交H5询问得到h5i,然后向C1提交h5i的BBS签名询问得到签名(σi,ti),将ci=(Wi,τi,ωi,σi,ti)返回给A;否则,C0按照SCIBSC算法计算输出ci=(Wi,τi,ωi,σi,ti).其中,H1,H2,H3,H4,H5运算替换为对应的谕言机询问.最后,C0将(Wi,τi,ωi,h5i,σi,ti)插入LSC.
9) 解签密询问.与定理4相同.
伪造.询问结束后,A提交(IDs,IDr,m*)的伪造密文c*=(W*,τ*,ω*,σ*,t*).如果IDs≠ID*,或者(*,*,*,*,σ*,t*)∈LSC,又或者L5中不存在(W*,τ*,ω*,m*,h*5)∈L5使得
成立,则终止模拟,模拟失败;否则,C0提交
给C1作为对BBS挑战的伪造签名.
显然,如果c*=(W*,τ*,ω*,σ*,t*)是IBSC的有效的伪造密文,那么(h*5,σ*,t*)必然是BBS的有效的伪造签名.即,如果A挑战成功,则C0必然挑战成功.
上述模拟过程中,由于BBS签名询问的输出与真实BBS签名算法的输出同分布,且H1,H2,H3,H4,H5模拟为随机谕言机,根据随机谕言机假设,A的视图与其在真实攻击中的视图是不可区分的,则A在模拟环境下成功的优势等于其在真实攻击环境下的优势.假设A赢得Gam
的优势为ε,那么C0挑战成功的优势为Ad
≥ε.
证毕.
本文ID-AKE方案基于3.2节提出的GC-AKE方案和4.1节提出的IBSC算法,描述如下.
系统建立.输入安全参数λ,PKG产生系统参数para={n,q,Rq,χ,a,H,G1,G2,GT,g1,g2,e,α,P0,H1,H2,H3,H4,H5}.系统参数包含了基于格的和基于双线性映射的2套参数.
用户密钥生成.与IBSC密钥生成算法相同.用户私钥SKID=(x,y,z);用户公钥PKID=(u,v,w),其中![]()
密钥交换.如果Alice与Bob期望建立安全会话,其密钥交换过程与图2基本相同.为了进一步增强安全性(主要考虑抵抗临时秘密泄露攻击(ESR)),将会话密钥的计算方式替换为
其中,q3B=H1(IDB,R3B),q3A=H1(IDA,R3A).可以验证:
从而可得SKAB=SKBA.
通过增强,即使临时秘密κA和κB泄露,针对传统的非量子攻击者,也不影响会话密钥的安全性(因为(wA,wB,
)是一个CDH问题的实例),这在过渡时期具有现实意义.抵抗临时秘密泄露的安全性在一些相关文献中有详细讨论[36-38],本文不做详细分析.
但是这种增强的方式在基于格的密码系统中并不直接适用.因为在基于格的环境下,不具有与离散群相同的CDH假设,则基于格的ESR安全性需要进一步讨论.
本文选择FSXY方案[14]、BCNS方案[18]、YCL方案[23] 和DBS方案[12]作为对照方案进行对比分析,如表2所示.其中,FSXY方案和YCL方案为通用AKE在格密码系统下的实例;BCNS方案将DHKE-like密钥交换与TLS握手协议整合,实现经典密码系统下的实体认证以及后量子的会话密钥前向安全;DBS方案则采用类似HMQV协议的密钥交换方案,侧重实现隐式认证.本文方案则遵循BCNS方案的思路,将DHKE-like密钥交换与现有经典公钥密码系统相结合,重点关注会话密钥的后量子前向安全性.此外,本文方案也融合了通用AKE的思想,以适应后量子密码技术的发展,以及提供AKE方案的可扩展性.例如,BCNS-DHKE-like密钥交换方案可直接使用其他具有类似DDH属性的DHKE-like密钥交换方案替代,比如NewHope[20]协议.
此外,李子臣等人[24]和赵秀凤等人[22]也分别提出了基于Ring-LWE问题的AKE方案.但是,本文分析发现,这2种方案都存在较为严重的安全缺陷,具体的分析见本文5.2节.
表2中,第3列表示ECC计算量,“M”表示椭圆曲线上的点乘运算,“P”表示双线性对运算;YCL方案的开销取决于参数μ和m,根据文献[23],有m=
log n
,如果n=1 024则m=10,而μ的取值取决于抗碰撞的密码Hash函数TCRHF:{0,1}*→{0,1}μ.
Table 2 Comparison of Several AKE protocols
表2 AKE协议对比
Note: “M” means scalar multiplication on elliptic curve; “P” means pairing calculation.
可以看出,FSXY方案和YCL方案在计算、存储和通信方面的开销都明显较大.特别是通信开销(表2第6列),表2中仅列出了直接的密钥交换开销和公钥传输的开销,由于基于格的证书系统尚未建立,公钥证书的开销则未列入,其他如密钥调节参数由于相对较小(1 024 b)也未列入.具体来看,FSXY方案共发送9个Rq上的成员(其中2个Rq上的成员为用户长期公钥),YCL方案则多达2μ+m+5个Rq上的成员.以n=1 024,log q=32为例,1个Rq上的成员约为4 KB,则FSXY方案的通信开销大于36 KB. BCNS方案、DBS方案和本文方案的总体开销差别不大.BCNS方案的计算性能虽然较优,但是TLS握手协议需要多轮信息交互,其总体性能并不占优.此外,FSXY方案、YCL方案和DBS方案未指明用户公钥的授信机制,假定采用PKI体制,与公钥证书相关的开销并未在表2中列出.本文方案实例基于IBC系统,对用户公钥的授权验证包含在IBSC算法中,在通信部分增加约160 B传输开销(假定用户身份标识为20 B).
在安全性方面(表2第7列),BCNS方案仅实现了客户端对服务器的认证,采用ACCE[39]安全模型(类似于BR+wPFS);DBS方案实现了相互认证,采用了BR+wPFS模型;FSXY方案采用了CK+模型;YCL方案则采用了eCK-PFS模型;本文提出的通用AKE采用wAKE-PFS模型(见第2节),而第4节提出的AKE实例则实现了eCK-PFS安全性.严格来讲,FSXY方案和YCL方案的MEX安全性具有较大局限性.由于FSXY方案和YCL方案等通用AKE方案临时秘密参数较多,不能像HMQV协议那样将MEX安全性规约到一个确定的DHKE实例,部分参数泄露仍然不能保证MEX安全性.例如,FSXY方案中的(KA,KB,KT)和YCL方案中的rpgid1泄露同样不能防止会话密钥泄露,在实际应用中,不能区别对待临时的秘密参数.在本文4.2节的AKE实例中,即使所有临时的参数泄露(包括DHKE-like密钥κ),针对非量子攻击者,也能确保会话密钥的安全性.
5.2.1 NLPQ-AKE方案分析
李子臣等人[24]提出一种基于Ring-LWE问题的AKE方案(记为NLPQ-AKE).NLPQ-AKE中采用的IND-CPA安全的PKE(记为NLPQ-CPA-PKE)是NewHope-Simple KEM的变形.但是,文献[21]不建议NewHope-Simple KEM方案的公钥重复使用.Bauer等人[40]分析表明,对于NewHope-Simple CPA-KEM实例,重用公钥会导致私钥泄露,对于NewHope-Simple CCA-KEM实例,在可能重用公钥的情况下,应谨慎设计CPA-KEM→CCA-KEM转换中的关键步骤.不幸的是,NLPQ-AKE方案中的NLPQ-CCA-KEM机制完全暴露了NLPQ-CPA-PKE机制的密文,不能抵抗密钥重用攻击.NLPQ-AKE方案分为2组独立(分别采用用户长期公钥和临时公钥)的密钥交换,其中采用长期公钥的NLPQ-CCA-KEM实例必然存在公钥重用,将导致用户长期私钥的泄露.根据文献[40]的测试结果,采用Alkim等人[21]推荐的系统参数,只需数千个重用公钥的密文即以较大概率恢复对应的完整私钥.
5.2.2 Zhao-AKE方案分析
赵秀凤等人[22]提出一种基于BCNS-DHKE-like机制的ID-AKE方案(记为Zhao-AKE).但是,Zhao-AKE方案存在较为严重的安全隐患.具体来说,赵秀凤等人提出一种新的基于身份密钥生成算法(详见文献[22]的3.2节),将用户密钥(Si=IiS+Mei)的安全性建立在Ring-LWE问题的困难性上.其中,Ii=H(IDi)和M为多项式环Rq上具有小范数的元素,S是系统主密钥,ei是误差值,S和ei服从Rq上的离散高斯分布.根据Ring-LWE假设,给定均匀随机的a←URq,求解(a,as+e)∈Rq×Rq中的秘密s是困难的(其中s和e服从Rq上的离散高斯分布).由于Ii和M在Rq上并非随机均匀分布,Zhao-AKE方案的用户密钥产生算法不满足Ring-LWE假设条件,敌手可能利用Ii和M非均匀随机分布的特性,实施对系统主密钥S的猜测攻击.就目前掌握的文献资料来看,没有相关的理论能够证明非随机均匀分布的(a,as+e)满足Ring-LWE假设条件,而文献[22]并未就这一关键问题展开讨论.同理,用户密钥Si也不满足判定Ring-LWE假设.文献[22]的安全性证明中(引理10),在Game3中用随机的Ii←URq和M1←URq替换真实的Ii和M(Game2),并声称敌手无法区分Game2和Game3(应用判定Ring-LWE假设).显然,敌手可以通过计算Ii和M1的范数来区分,因为Game2中的Ii和M 具有小的范数,而Rq上的随机成员具有小范数的概率很低,Ii和M1的分布不满足判定Ring-LWE假设条件,不适合应用这一假设,文献[22]的安全性证明不成立.基于以上分析,Zhao-AKE方案[22]不是一种安全可靠的ID-AKE方案.
本文以格上(无认证)DHKE-like协议为基础,采用签密机制对DHKE-like协议中的临时公钥进行签密,提出一种“SC+DHKE-like”的可组合AKE构造方案——GC-AKE.GC-AKE结构简单,具有可组合的优点,可根据不同应用场景需求,采用不同密码学原语加以组合.针对向后量子时代过渡的时期,面向AKE协议的后量子前向安全需求,本文提出采用基于ECC的IBSC结合基于理想格的DHKE-like协议实例.在wAKE-PFS模型下,本文的GC-AKE方案实现了可证明安全性,特别是实现了会话密钥的PFS安全性.PFS安全性要求使用具有强不可伪造的签名方案.因此,本文以BBS签名为基础,设计了强不可伪造的IBSC方案,并对其安全性进行了规约证明,实现了IND-CCA和SEUF-CMA安全性.但是,采用基于Ring-LWE问题的DHKE-like协议作为密码套件存在一个关键问题,即:如果加密完整的临时公钥,则加密后的密文较大,使得AKE的计算和通信开销较大.为了解决这一问题,本文提出临时公钥特征提取与隐藏函数,仅加密n位(本文取n=1 024)的特征值,显著降低了需加密传输的数据量,使得本文的AKE协议实例的计算和通信开销相对较优.进一步的优化可采用性能更优的DHKE-like协议替换BCNS-DHKE-like协议,如NewHope协议.
[1]Diffie W, Hellman M. New directions in cryptography[J]. IEEE Transactions on Information Theory, 1976, 22(6): 644-654
[2]NIST: Post-Quantum cryptography project[OL]. [2020-05-25]. https://csrc.nist.gov/Projects/post-quantum-cryptography
[3]Ajtai M. Generating hard instances of lattice problems[J]. Quaderni di Matematica, 2004, 13: 1-32
[4]Regev O. On lattices, learning with errors, random linear codes, and cryptography[C] //Proc of the 37th ACM Symp on Theory of Computing (STOC). New York: ACM, 2005: 84-93
[5]Regev O. Lattice-based cryptography[G] //LNCS 4117: Proc of CRYPTO 2006. Berlin: Springer, 2006: 131-141
[6]Micciancio D. Generalized compact knapsacks, cyclic lattices, and efficient one-way functions[J]. Computational Complexity, 2007, 16(4): 365-411
[7]Lyubashevsky V, Peikert C, Regev O. On ideal lattices and learning with errors over rings[J]. Journal of the ACM, 2013, 60(6): 43.1-43.35
[8]Lyubashevsky V, Peikert C, Regev O. A toolkit for ring-LWE cryptography[G] //LNCS 7881: Proc of EUROCRYPT 2013. Berlin: Springer, 2013: 35-54
[9]Katz J, Vaikuntanathan V. Smooth projective hashing and password-based authenticated key exchange from lattices[G] //LNCS 5912: Proc of ASIACRYPT 2009. Berlin: Springer, 2009: 636-652
[10]Ding Jintai, Xie Xiang, Lin Xiaolong. A simple provably secure key exchange scheme based on the learning with errors problem[OL].[2020-06-10]. https://eprint.iacr.org/2012/688
[11]Ding Jintai, Gao Xinwei, Takagi T, et al. One sample ring-LWE with rounding and its application to key exchange[G] //LNCS 11464: Proc of ACNS 2019. Berlin: Springer, 2019: 323-343
[12]Ding Jintai, Branco P, Schmitt K. Key exchange and authenticated key exchange with reusable keys based on RLWE assumption[OL].[2020-06-10]. https://eprint.iacr.org/2019/665
[13]Fujioka A, Suzuki K, Xagawa K, et al. Strongly secure authenticated key exchange from factoring, codes, and lattices[G] //LNCS 7293: Proc of PKC 2012. Berlin: Springer, 2012: 467-484
[14]Fujioka A, Suzuki K, Xagawa K, et al. Practical and post-quantum authenticated key exchange from one-way secure key encapsulation mechanism[C] //Proc of the 8th ACM SIGSAC Symp on Information, Computer and Communications Security (ASIA CCS 2013). New York: ACM, 2013: 83-94
[15]Wang Hao, Zhao Chuan, Xu Qiuliang, et al. Identity-based authenticate key exchange protocol from lattice[C] //Proc of the 9th Int Conf on Computational Intelligence & Security. Los Alamitos, CA: IEEE Computer Society, 2013: 564-568
[16]Peikert C. Lattice cryptography for the Internet[G] //LNCS 8772: Proc of PQCrypto 2014. Berlin: Springer, 2014: 197-219
[17]Zhang Jiang, Zhang Zhenfeng, Ding Jintai, et al. Authenticated key exchange from ideal lattices[G] //LNCS 9057: Proc of EUROCRYPT 2015. Berlin: Springer, 2015: 719-751
[18]Bos J W, Costello C, Naehrig M, et al. Post-quantum key exchange for the TLS protocol from the ring learning with errors problem[C] //Proc of the 36th IEEE Symp on Security and Privacy (S&P 2015). Piscataway, NJ: IEEE, 2015: 553-570
[19]Bos J W, Costello C, Ducas L, et al. Frodo: Take off the ring! practical, quantum-secure key exchange from LWE[C] //Proc of the 23rd ACM SIGSAC Conf on Computer and Communications Security (CCS 2016). New York: ACM, 2016: 1006-1018
[20]Alkim E, Ducas L, Pöppelmann T, et al. Post-quantum key exchange-a new hope[C] //Proc of the 25th USENIX Security Symp (USENIX Security 16). Berkeley, CA: USENIX Association, 2016: 327-343
[21]Alkim E, Ducas Lo, Pöppelmann T, et al. NewHope without reconciliation[OL].[2020-03-18]. https://eprint.iacr.org/2016/1157
[22]Zhao Xiufeng, Gao Haiying, Wang Ailan. An identity-based authenticated key exchange protocol from RLWE[J]. Journal of Computer Research and Development, 2016, 53(11): 2482-2490 (in Chinese)(赵秀凤, 高海英, 王爱兰. 基于RLWE的身份基认证密钥交换协议[J]. 计算机研究与发展, 2016, 53(11): 2482-2490)
[23]Yang Zheng, Chen Yu, Luo Song. Two-message key exchange with strong security from ideal lattices[G] //LNCS 10808: Proc of CT-RSA 2018. Berlin: Springer, 2018: 98-115
[24]Li Zichen, Xie Ting, Zhang Juanmei, et al. Post quantum authenticated key exchange protocol based on ring learning with errors problem[J]. Journal of Computer Research and Development, 2019, 56(12): 2694-2701 (in Chinese)(李子臣, 谢婷, 张卷美, 等. 基于RLWE的后量子认证密钥交换协议[J]. 计算机研究与发展, 2019, 56(12): 2694-2701)
[25]Dierks T, Rescorla E. The transport layer security (TLS) protocol version 1.3[S]. CA: IETF Community, 2018
[26]Zheng Yuliang. Digital signcryption or how to achieve cost(signature & encryption)< [27]Boneh D, Shen E, Waters B. Strongly unforgeable signatures based on computational Diffie-Hellman[G] //LNCS 3958: Proc of PKC 2006. Berlin: Springer, 2006: 229-240 [28]Boneh D, Boyen X. Short signatures without random oracles[G] //LNCS 3027: Proc of EUROCRYPT 2004. Berlin: Springer, 2004: 56-73 [29]Krawczyk H. SIGMA: The ‘SIGn-and-MAc’ approach to authenticated Diffie-Hellman and its use in the IKE protocols[G] //LNCS 2729: Proc of CRYPTO 2003. Berlin: Springer, 2003: 400-425 [30]Lamacchua B A, Lauter K, Mityagin A. Stronger security of authenticated key exchange[G] //LNCS 4784: Proc of ProvSec 2007. Berlin: Springer, 2007: 1-16 [31]Krawczyk H. HMQV: A high-performance secure Diffie-Hellman protocol[G] //LNCS 3621: Proc of CRYPTO 2005. Berlin: Springer, 2005: 546-566 [32]Fluhrer S. Cryptanalysis of ring-LWE based key exchange with keyshare reuse[OL].[2020-05-11]. https://eprint.iacr.org/2016/085 [33]Ding Jintai, Fluhrer S, Saraswathy RV. Complete attack on RLWE key exchange with reused keys, without signal leakage[G] //LNCS 10946: Proc of ACISP 2018. Berlin: Springer, 2018: 467-486 [34]Agrawal S, Boneh D, Boyen X, Efficient lattice (H)IBE in the standard model[G] //LNCS 6110: Proc of EUROCRYPT 2010. Berlin: Springer, 2010: 553-572 [35]Galbraith S D, Paterson K G, Smart N P. Pairings for cryptographers[J]. Discrete Applied Mathematics, 2008, 156(16): 3113-3121 [36]Cremers C, Feltz M. Beyond eCK: Perfect forward secrecy under actor compromise and ephemeral-key reveal[J]. Designs Codes & Cryptography, 2015, 74(1): 183-218 [37]Wang Fei, Chen Ming. An identity-based authenticated key agreement scheme with perfect forward secrecy[J]. Journal of Cryptologic Research, 2020, 7(1): 56-68 (in Chinese)(王霏, 陈明. 完美前向安全的基于身份认证密钥协商方案[J]. 密码学报, 2020, 7(1): 56-68) [38]Chen Ming. Strongly secure anonymous implicit authentication and key agreement for roaming services[J]. Journal of Computer Research and Development, 2017, 54(12): 2772-2784 (in Chinese)(陈明. 强安全的匿名隐式漫游认证与密钥协商方案[J]. 计算机研究与发展, 2017, 54(12): 2772-2784) [39]Jager T, Kohlar F, Schäge S, et al. On the security of TLS-DHE in the standard model[G] //LNCS 7417: Proc of CRYPTO 2012. Berlin: Springer, 2012: 273-293 [40]Bauer A, Gilbert H, Renault G, et al. Assessment of the key-reuse resilience of NewHope[G] //LNCS 11405: Proc of CT-RSA 2019. Berlin: Springer, 2019: 272-292