横向
联邦
学习
环境
基于
身份
认证
密钥
协商
协议
任杰
http:/DOI:10.13700/j.bh.1001-5965.2021.0217横向联邦学习环境基于身份认证及密钥协商协议任杰1,2,黎妹红1,2,*,杜晔1,2,尹李纶谨1,2(1.北京交通大学智能交通数据安全与隐私保护技术北京市重点实验室,北京100044;2.北京交通大学计算机与信息技术学院,北京100044)摘要:近年来,联邦学习受到多个领域的广泛关注,而认证及会话密钥协商是保证通信实体之间安全传输、可靠通信的关键技术和基本的安全保障。根据横向联邦学习参与方数据特征,提出一种基于身份的无证书轻量级认证及密钥协商协议;参与方在密钥生成中心(KGC)完成注册后,利用公共参数计算各自的临时密钥和长期密钥完成认证、计算会话密钥;最后,采用扩展的CK(eCK)模型对所提协议进行安全性证明。性能分析表明:所提协议在计算性能和通信开销方面可以有效地控制成本,适用于单服务器下横向联邦学习的训练环境。关键词:横向联邦学习;基于身份密码体制;无证书;认证及密钥协商;eCK 模型中图分类号:V221+.3;TB553文献标志码:A文章编号:1005-5965(2023)02-0397-09人工智能的高速发展离不开大数据的支持,但是绝大多数企业数据质量低,尤其是对数据隐私保护的要求低,无法支撑构建精准的模型。为了解决“数据孤岛”的情况,联邦学习应运而生1。目前已有许多横向联邦学习的商业落地应用案例,但仍处于初级阶段,尤其是数据安全方面仍存在许多技术挑战,而认证及会话密钥协商是保证通信实体之间安全传输、可靠通信的关键技术和基本的安全保障。随着用户量的增大,基于对称密码体制和基于公钥基础设施(publickeyinfrastructure,PKI)的密码体制认证和密钥协商协议中存在密钥管理和维护的问题。1985 年 Shamir2提出基于身份的密码体制,将用户身份与公钥绑定,省去证书的参与,大大降低了 PKI 存储和管理上的消耗。因此,越来越多的基于身份的认证及密钥协商协议被相继提出。Boneh 和 Franklin3利用双线性对的理论设计基于身份的认证密钥协商协议。随后 Jegadeesan 等4及Bakhtiari-chehelcheshmeh 和 Hosseinzadeh5提出适用于分布式云计算环境下的移动设备的认证及密钥协商协议,具有双向认证、用户的不可追踪和不可否认等特性。但是 Wu 等6证明文献 5 提出的协议很容易受到中间人攻击和伪造攻击,因此,文献 6 改进了该协议,提供了具有更高安全性和有效性的协议。由于双线性对的计算开销较大,且找出满足双线性对的群很困难,因此,一些研究提出了基于非双线性对进行密钥协商7-17。Zhu 等7和 Cao 等8提出非双线性对基于身份的两方认证密钥协商协议(ID-2PAKA),该协议中采用 3 次信息交换实现密钥协商。随后,Cao 等9又在此基础上做了改进,通过 2 轮信息交换完成密钥协商,降低了计算开销和通信轮数。但是 Islam 和 Biswas10分析了文献 9提出的协议,发现该协议易受到已知会话特定临时信息攻击(knownsession-specifictemporaryinformationattack,KSTIA)和密钥偏移攻击(keyoff-setattack,KOA),因此,文献 10 弥补了文献 9 的安全缺陷,可以对其他参与方的会话密钥做哈希检查,避免在信息交互的过程中出现篡改和假冒攻击。但是该收稿日期:2021-04-27;录用日期:2021-07-11;网络出版时间:2021-07-3017:03网络出版地址: J.北京航空航天大学学报,2023,49(2):397-405.REN J,LI M H,DU Y,et al.Identity-based authentication key agreement protocol for horizontal federated learning environmentJ.Journal of Beijing University of Aeronautics and Astronautics,2023,49(2):397-405(in Chinese).2023年2月北京航空航天大学学报February2023第49卷第2期JournalofBeijingUniversityofAeronauticsandAstronauticsVol.49No.2协议中缺少前向安全性。针对此问题,Daniel 等11针对文献 10 的协议做出了改进,并证明在扩展的CK(extendedCanetti-Krawczyk,eCK)模型12下是安全的。但是结合横向联邦学习环境,该协议只有在计算会话密钥后才能认证双方的身份。若协商阶段存在中间人攻击,则此次的会话密钥计算无效,给双方带来不必要的计算开销和通信开销。因此,本文结合横向联邦学习环境,提出了基于身份的椭圆曲线无证书的轻量级认证及会话密钥协商协议,在保证安全性的同时,权衡计算开销和通信开销,在实际的应用场景下具有更好的平衡性。1准备工作1.1相关困难问题及假设本文的认证及会话密钥协商协议的安全性和证明条件依赖于以下问题:PeQn1 n 0AHA 7qh/2k(m,r,h,s)T 16QT/1/9(m,r,h,s)(m,r,h,s)h#hhs给定一个安全参数为 k 的签名机制(Kgen,sign,verf),其中,Kgen 为密钥生成算法,sign 为签名算法,verf 为验证算法。假设为概率多项式时间内的图灵机,其输入为公共数据,并用表示访问随机预言机的次数。假设在时间 T 内,以概率得到的有效签名,其中,m 为消息内容,r 为承诺内容,h 为关于 m 和 r 的哈希值,s 为关于 h 和 r 的答案,则通过重放攻击,可以在有效时间内,以概率获得 2 个消息内 容 与 承 诺 内 容 相 同 的 有 效 签 名和,且满足,其中,、为通过重放攻击后计算不同于 h 与 s 的哈希值和解密值。1.3eCK 安全模型eCK 模型主要是针对两方认证及密钥协商协议的一种安全性较强的形式化分析模型,虽然证明ti,sjit过程较为复杂,但是其安全性优势明显。在 eCK 模型中每个参与者或攻击者都被模拟成一个具备概率多项式时间的预言机,其以多项式次数执行协议,预言机表示用户 与服务器 sj 的第 次密钥协商。攻击者可以控制各方交换通信,还可以利用多种方式在 eCK 模型下被允许进行监听、篡改、重放等基本的攻击方式。在该模型下攻击者 A 可以请求以下查询。Send(ti,sj,M)ti,sjM1)查询。攻击者 A 向预言机发送消息,预言机会按照协议执行返回给攻击者消息。如果允许 Send 查询,则攻击者 A 将控制所有的通信,并可以取消或修改现有的消息,插入新的消息,如果 Send 查询不被允许执行,则攻击者只能被动的监听参与方之间的消息传递。2)StaticKeyReveal(U)查询。攻击者A 可以通过该查询获得参与方 U 的长期私钥。(ti,sj)ti,sj3)SessionKeyReveal查询。攻击者 A 可以获得在会话中协商计算的会话密钥。(ti,sj)ti,sj4)EphemeralKeyReveal查询。攻击者 A 可以通过会话获得用户的临时私钥。(U)5)Establishedparty查询。攻击者 A 可以利用此查询获得参与方的长期私钥。因此,若攻击者有发起该请求,则参与方是诚实的。(ti,sj)ti,sj bit 0,1bit=06)Test查询。攻击者 A 可以在实验的任何阶段选择新鲜的随机预言机进行该查询,但是只能发起一次。而查询的结果取决于随机选择的比特,当时,将返回经协商后实际的会话密钥,否则会在会话密钥空间中选择随机值。Advti,sj(A)攻击者 A 会根据所有发起的查询请求,猜测 bit的值为 bit,若 bit=bit,则攻击者 A 在本次游戏中获胜,定义获胜的优势如下:Advti,sj(A)=Pr(bit=bit)1/2(1)式中:Pr 为概率。i,sjsj,isj,ii,sj定义1匹配会话。若某会话发起的消息被传输到,的应答消息被传回到,则两会话互为匹配会话。ti,sj定义2新鲜会话。如果预言机计算后得到了一个会话密钥 SK,并满足以下条件:ti,sjsj,i1)预言机及匹配预言机没有受到Session-KeyReveal 的查询;ti,sjsj,i2)预言机及匹配预言机没有受到 Static-KeyReveal 和 EphemeralKeyReveal 的查询;ti,sj3)若的匹配预言机不存在,且服务器 sj 未受到 StaticKeyReveal 的查询;此时会话是新鲜的。定义3安全的会话密钥协商协议。若认证398北 京 航 空 航 天 大 学 学 报2023年及密钥协商协议满足以下条件:1)2 个相互匹配的随机预言机计算出相同的会话密钥;Advti,sj(A)2)对于任意攻击者 A,成功的概率是可忽略的。此时该密钥协商协议在 eCK 模型下是安全的。1.4攻击者模型在实际训练环境下,会遭到各种类型的攻击和安全威胁。本文在方案设计中,是基于横向联邦学习环境,主要考虑以下几个方面的安全威胁。1)窃听攻击。在横向联邦学习环境中,用户更多利用无线通信传递消息,信道处于开放的状态,因此,攻击者可以监听通信信道传输的信息,进而实现窃听攻击。2)攻击者可以对监听的信息进行拦截、重构和重放,实现篡改攻击、伪造攻击、重放攻击等。3)密钥生成中心(keygenerationcenter,KGC)的半诚实性。在密钥生成中心会产生内部攻击,恶意的参与方会盗取用户的密钥信息并利用在后续的密钥协商中。2认证及会话密钥协商协议描述结合横向联邦学习环境中要求参与方在协议中的控制权,本文提出单服务器环境下基于身份的无证书轻量级认证及密钥协商协议。在本文方案中,首先,KGC 生成公开系统参数集合,参与训练的用户和服务器在 KGC 完成注册,并计算各自的临时密钥和长期密钥。之后,参与方可对服务器发起认证协商请求。本节详细阐述了本文方案中的初始化模块、注册模块、认证及密钥协商模块。2.1初始化模块x Zq Ppub=xPH1,H2,H3,HMAC在该系统中,KGC 定义循环加群 G,G 的素数阶 q。KGC 为循环加群选择生成元P,并选择随机值,x 为系统主私钥,计算系统公钥。KGC 还需要定义 4 个哈希函数,其式分别为H1=0,1G Zq(2)H2=0,10,10,1 Zq(3)H3=0,10,1G4 0,1l(4)HMAC=GG0,1l Zq(5)式中:l 为最终会话密钥的长度。G,q,P,Ppub,H1,H2,H3,HMAC完成式(2)式(5)的计算后,KGC 会将x 保密存储,并公开系统参数集合。2.2注册模块当存在参与方申请参与联邦学习模型训练时,需要参与方在 KGC 注册,其注册详细流程如图 1 所示。注册过程描述如下。用户/服务器KGCIDi选择随机数 riZq*计算:Ri=riP(si,Ri)计算:选择随机数 diZq*和ti生成公钥 Pi=diP私钥 di,ti,(si,Ri)siP=Ri+H1(IDi,Ri)Ppubsi=(ri+xH1(IDi,Ri)图1注册模块Fig.1RegistrationmoduleIDiri ZqRi=riPsi=(ri+xH1(IDi,Ri)(si,Ri)1)用户 i 给 KGC 发送身份标识,KGC 给用户 i 随 机 选 择,并 计 算,因此,KGC 为用户生成部分私钥,并由安全信道发送给用户 i。(si,Ri)siP=Ri+H1(IDi,Ri)Ppub2)当用户 i 收到 KGC 传来的部分私钥,首先验证其准确性,用户需要计算。若等式成立,则证明用户 i 收到的为 KGC 发送的部分私钥组。di ZqtiPi=diPdi,ti,(si,Ri)PiPi3)用户私钥生成。用户私钥由 3 部分组成,长期私钥、临时私钥和部分私钥。因