重庆大学学报  2022, Vol. 45 Issue (5): 21-32  DOI: 10.11835/j.issn.1000-582X.2022.05.003 RIS(文献管理工具)
0

引用本文 

刘畅, 王晋, 田里, 王捷, 叶净宇, 秦帆, 周雨阳. 一种适用于基于身份的认证密钥协商的逆向防火墙协议[J]. 重庆大学学报, 2022, 45(5): 21-32. DOI: 10.11835/j.issn.1000-582X.2022.05.003.
LIU Chang, WANG Jin, TIAN Li, WANG Jie, YE Jingyu, QIN Fan, ZHOU Yuyang. A reverse firewall protocol for identity-based authenticated key agreement[J]. Journal of Chongqing University, 2022, 45(5): 21-32. DOI: 10.11835/j.issn.1000-582X.2022.05.003.

基金项目

四川省科学技术资助项目(2020JDRC0100)

作者简介

刘畅(1992—),男,硕士研究生,工程师,主要从事信息安全、电力通信、大数据方向研究,(E-mail)liuchang.sgcc@foxmail.com

文章历史

收稿日期: 2021-02-12
一种适用于基于身份的认证密钥协商的逆向防火墙协议
刘畅 1, 王晋 1, 田里 1, 王捷 1, 叶净宇 2, 秦帆 3, 周雨阳 4     
1. 国网湖北省电力有限公司电力科学研究院 能源互联网技术中心, 武汉 430077;
2. 数字广西集团 政企事业部, 南宁 530219;
3. 重庆大学 大数据与软件学院,重庆,400044;
4. 电子科技大学 计算机科学与工程学院, 成都 611731
摘要: 基于身份的认证密钥协商允许两方或者多方在不安全信道上建立安全的会话密钥。目前的认证密钥协商协议无法抵抗导致随机数泄露的后门攻击,比如已知特定于会话的临时攻击。基于此,我们设计了一种适用于基于身份的两方认证密钥协商的逆向防火墙协议。该协议在随机预言机模型下是安全的,能够抵抗强的临时会话秘密值泄露攻击,提供了消息抗泄露性。同时该协议不使用双线性对,节省了系统运行时间。最后,利用JPBC库实现了该协议。实验结果表明了该协议与同类型的协议相比,具有较小的带宽和较短的运行时间,十分适合应用于资源受限的系统中。
关键词: 基于身份密码体制    认证密钥协商    逆向防火墙    抗信息泄露    离散对数    
A reverse firewall protocol for identity-based authenticated key agreement
LIU Chang 1, WANG Jin 1, TIAN Li 1, WANG Jie 1, YE Jingyu 2, QIN Fan 3, ZHOU Yuyang 4     
1. Energy Internet Technology Center, State Grid Hubei Electric Power Research Institute, Wuhan 430077, P. R. China;
2. Government and Enterprise Department, Digital Guangxi Group, Nanning 530219, P. R. China;
3. School of Big Data and Software Engineering, Chongqing University, Chongqing 400044, P. R. China;
4. School of Computer Science and Engineering, University of Electronic Science and Technology of China, Chengdu 611731, P. R. China
Abstract: Identity-based authenticated key agreement allows two or more parties to establish secure session keys over insecure channels. Current authenticated key agreement protocols are unable to resist the backdoor attacks that lead to random number disclosure, such as known session-specific temporary attack. Therefore, we propose a reverse firewall protocol for identity-based authenticated key agreement. The protocol is secure under the random oracle model. In addition, it can resist strong temporary session secret value leakage attack and can provide message leakage resistance. Meanwhile, the protocol saves the system's running time because it does not use bilinear pairing. Finally, we implement the protocol using JPBC library. The experimental results show that the protocol has smaller bandwidth and shorter running time compared with other protocols of the same type. It is very suitable for resource-constrained systems.
Keywords: identity-based cryptosystem    authenticated key agreement    reverse firewall    anti-information leakage    discrete logarithm    

密钥协商是在不安全信道上建立会话密钥的一种重要方式。Diffie和Hellman[1]基于离散对数困难问题,为密钥分发系统(PKDS, public key distribution system)设计了两方密钥协商协议(DH协议)。该协议在公网上提供了会话密钥服务,防止来自被动攻击者的消息泄露,但不能抵抗来自主动攻击者的扰乱、删除消息等行为:如中间人攻击(MITM, man-in-the-middle)。为了抵抗中间人攻击,Matsumoto等[2]基于DH协议设计了3个密钥协商协议:MTI/A0,MTU/B0,MTI/C0。这些协议能够为通信双方建立双方的认证会话密钥,且不利用签名就能抵抗主动攻击。然而,如果一个长期密钥泄露,攻击者就能计算出两方的会话密钥。Kunz-Jacques和Pointcheval[3]提出了2个新的概念:认证密钥协商(AKA, authenticated key agreement)和带密钥确认的认证密钥协商(AKAC, AKA with key confirmation)。AKA保证只有特定的参与者能够计算出该次会话密钥。AKAC在AKA的基础上,确认了通信实体都获得该次会话密钥。Law等[4]设计了一个两方的AKA协议(MQV协议),同时利用消息认证码(MAC, message authentication code)技术设计了一个三方的AKAC协议。该协议实现了已知密钥安全、前向安全、密钥控制。Krawczyk[5]指出这些协议在CK模型[6]下是不安全的,并且在MQV协议的基础上提出了HMQV协议。为了增强安全模型中攻击者的能力,LaMacchina等[7]在CK模型的基础上提出了eCK模型,允许敌手对临时私钥进行询问。目前,eCK模型成为了AKA协议的主流安全证明模型。Yao和Zhao[8]结合了KEA[9]和HMQV,设计了一个“最优”的AKA协议。KEA是由NSA设计的一个AKA协议,能保证最优的在线效率,但不能在eCK模型中被证明安全。以上这些协议都是基于公钥基础设施(PKI, public key infrastructure)。在PKI中,为了抵抗公钥替换攻击,采用称为证书权威(CA, certificate authority)的可信机构来颁发数字证书,用于绑定用户身份和公钥。因此,PKI不可避免带来了证书管理的问题,如证书颁发、存储、验证、回收等。

为了解决PKI中的证书管理问题,Shamir[10]提出了基于身份的密码学(IBC, identity-based cryptography)。2002年,受Boneh和Franklin基于身份加密(identity-based encryption, IBE)[11]和Joux的三方DH协议[12]的启发,Smart提出了一个基于身份的密钥协商(identity-based authenticated key agreement, ID-AKA)协议。该协议基于Weil双线性对,消除了证书管理的问题,但由于用户私钥都由一个可信的私钥生成器(PKG, private key generator)生成,带来密钥托管问题,影响会话密钥的前向安全性。这意味着如果PKG被妥协了,敌手将能计算出之前的会话密钥。Chen和Kudla[13-14]利用PKG只能获知长期密钥而非临时密钥实现会话密钥的前向安全性。同时,设计了一个基于身份的密钥协商确认(ID-AKAC, ID-AKA with key confirmation)协议,主要思想是在用户身份信息上加上MAC值。之后,一系列ID-AKA协议[15-17]被提出,这些协议的安全性证明都没基于eCK模型。最近,Daniel等[18]提出了一个适用于eCK模型的无双线性对的ID-AKA协议,能够抵抗公钥替换攻击和已知临时会话秘密值泄露攻击(KSTIA,known session-specific temporary attack)。通过以上分析,发现这些密钥协商协议都是在经典安全模型下被证明安全的。攻击者能够通过设置一些不被发现的后门程序来扰乱这些算法的执行,从而导致用户秘密信息的泄露。

2014年,Bellare等[19]研究算法替换攻击(ASA, algorithm substitution attack),证明了一个攻击者能够通过替换对称加密方案来监视用户,得出了ASA能在任何随机或者无状态的加密方案中发生。ASA的研究为密码学提出了一个新问题:在敌手秘密干扰下,如何保证密码方案的安全性?(这个方向也叫做后斯诺登密码学[20])。为了回答这个问题,Mironov等[21]在2015年的欧密会上提出了逆向防火墙(RF, reverse firewall)的概念。RF处在用户计算机和外界网络之间,能够修改用户收到或者发送的消息。即使用户计算机被妥协了,攻击者也无法辨认所接收的消息是否为真。RF可以取得以下3个性质: 1)维持功能性,即如果用户的计算机正确工作,RF不会破坏密码算法的功能; 2)保持安全性,即无论用户的计算机如何被敌手搅乱,RF的使用将保持与正确执行密码算法一样的安全性; 3)抗泄露性,即无论用户的计算机如何被搅乱运行,逆向防火墙将将阻止计算机向外泄露秘密信息。同年,Ateniese等[22]探讨了RF在数字签名上的应用,得出了任何随机化的数字签证都难抵抗ASA。在2016年的美密会上,Dodis等[23]利用RF,在被妥协机器上实现了安全消息传输。在2016年的亚密会上,Chen等[24]利用可延展平滑映射哈希函数,给出了用于安全消息传输协议、不经意的基于签名的信封和不经意传输协议的RF方案。2018年,Ma等[25]设计了一个适用于在线/离线的基于属性加密(ABE,Attribute-based encryption)的RF方案。方案中含有3个RF,分别部署于发送者、接收者和PKG。2019年,Hong等[26]设计了一个可以在ABE中实现属性分发的RF方案。Zhou等[27]设计了一个适用于IBE的RF方案,其中一个实现了选择明文攻击安全性,另一个在适应性选择密文攻击下达到了半语义安全性。最近,Zhou等[28]为无证书加密和无证书签名设计了RF方案。

目前,认证密钥协商协议中抗后门攻击的方案存在抗攻击能力弱、性能不高等缺点。通过对RF的研究和分析,提出了能否使用RF来提高两方认证密钥协商协议中信息抗泄露问题。将RF与两方密钥协商相结合,设计了一种无需双线性对的基于身份认证密钥协商的逆向防火墙(ID-AKA-RF, reverse firewall for ID-AKA)协议。

1 预备知识

定义1椭圆曲线上的离散对数问题(ECDLP, discrete logarithm problem on elliptic curve):已知椭圆曲线上的点P,给定(P, mP) 求整数$m \in {\mathbb{Z}_q}$。这个问题称为椭圆曲线上的离散对数问题。当点有大素数阶时,求解ECDLP被认为是计算困难的。

定义2逆向防火墙:假设是W是一个RF,P=(receive, next, output) 是一个组。如果以下等式满足,则W是一个为P设置的RF。其中,σ是初始公共参数,m是传输的消息。

$ \begin{array}{l} W^\circ P: = ({\rm{receiv}}{{\rm{e}}_{W^\circ P}}({\sigma }, m) = {\rm{receiv}}{{\rm{e}}_P}({\sigma }, W(m){\rm{ }}){\rm{ }}, \\ {\rm{nex}}{{\rm{t}}_{W^\circ P}}({\sigma }) = W({\rm{nex}}{{\rm{t}}_P}({\sigma }){\rm{ }}){\rm{ }}, \\ {\rm{outpu}}{{\rm{t}}_{W^\circ P}}{\rm{(}}{\sigma I}{\rm{)}} = W({\rm{outpu}}{{\rm{t}}_P}({\sigma }){\rm{ }}). \end{array} $

一个合格的RF满足以下3个性质:1)维持功能性; 2)保持安全性; 3)抗泄露性。

定义3维持功能性:假设是W是一个RFP是一个组,S是一个协议,F是一个函数。Wk°P表示在S中有限个k≥1里,对于P维持F。当PSF被清空,就说W维持了原协议的功能。同时,Wk°P=W°(Wk-1°P)表示RF能够堆砌。

定义4保持安全性:假设是W是一个RFP是一个组,S是一个协议,F是一个函数,A表示安全性要求。如果SP⇒W°P*也满足A,就说对于S中的P能够抵抗攻击F的敌手,则W维持了原协议的安全要求性。其中SPW°P*表示用W°P*代替PP*是抵抗功能维护性的实现组。当PSFA被清空,就说W维持了原协议的弱安全性。

定义5抗泄露性:假设是W是一个RFP是一个组,S是一个协议,F是一个函数,A表示安全性要求。如果不存在敌手能够攻破信息泄露LEAK(S, P1, P2, W, λ)游戏,那么W对于P1而言提供了弱抗泄露性。其中,λ表示安全性参数,P1P2的一个抗攻击F的敌手。

2 系统模型

抗泄露认证密钥协商协议包括一个注册服务器(RS),一个注册服务器的逆向防火墙(WRS),一个用户Alice,另一个用户Bob和他的逆向防火墙(WB),系统模型如图 1所示。

图 1 系统模型 Fig. 1 System model

整个方案由系统建立、随机化系统参数、密钥生成、重随机化用户密钥、身份认证与密钥协商5部分组成,具体算法描述如下:

1) 系统建立(Setup):该算法由注册服务器根据输入的安全参数k,运行产生系统所需的公共参数par和系统主密钥s

2) 随机化系统参数(WRS.Setup):WRS对系统参数par进行随机化处理,生成新的系统参数par′。

3) 密钥生成(KeyGen):用户Alice和Bob分别将自己的身份信息IDA和IDB提交给注册服务器。注册服务器根据输入的身份信息IDA、IDB和系统主密钥s,分别生成Alice和Bob的用户私钥SASB

4) 重随机化用户密钥(WRS.KeyGen):WRSSASB进行重随机化处理,生成SASB分别作为Alice和Bob的长期用户私钥,并通过安全信道分别回传给Alice和Bob。

此处的用户私钥需要通过安全信道回传, 安全信道的实现有离线和在线2种方法.

① 离线方式:注册服务器将用户私钥和公共参数输入到智能卡中,并将智能卡安全的交到注册用户手中。

② 在线方式:注册服务器通过安全的传输层安全(TLS)回传用户私钥和公共参数给注册用户。

5) 身份认证与密钥协商(KeyAgreement):Alice和Bob分别产生会话令牌TATB。在发送给对方的过程中,WBTATB进行随机化处理生成新的会话令牌TATB(这一过程也称为WB.KeyAgreement)。收到新的会话令牌后,双方利用自己的私钥完成身份认证并生成会话密钥K

3 安全模型

一个认证密钥协商协议的安全目标主要包括已知会话密钥安全性、前向安全性、PKG前向安全性、抗密钥泄露伪装和已知会话相关临时秘密信息安全性等。eCK模型[7]是目前安全性表达能力最强的安全模型,明确表达了密钥协商协议中最大可能损害安全的秘密泄露情况,也覆盖了最多的安全属性。基于eCK模型,设计了一个逆向防火墙环境下的密钥协商安全性游戏:关于挑战者C和敌手A之间的游戏,如图 2所示。具体步骤如下:

图 2 挑战者C和敌手A之间的游戏 Fig. 2 The game between challenger C and adversary A

1) 系统建立阶段: 挑战者C输入安全参数k, 运行系统建立算法,生成系统公共参数par和系统主密钥s,并将公共参数par发送给敌手A, 保存系统主密钥s

2) 询问阶段:敌手A在此阶段可以进行以下多项式有界次数的询问。

① MasterKeyReveal(k):敌手A获得系统在安全参数k下的主密钥。

② Corrupt(i):敌手A获得IDi的经过逆向防火墙重新随机化后的长期私钥。

③ Send $(\prod {_{i, j}^k} , M)$:如果M为空,则$\prod {_{i, j}^k} $为由IDi发起的会话;否则为由IDj发起的会话。

④ EphemeralKeyReveal $(\prod {_{i, j}^k} )$:敌手A获得会话$\prod {_{i, j}^k} $中的临时会话密钥。

⑤ Reveal $(\prod {_{i, j}^k} )$:敌手A获得会话$\prod {_{i, j}^k} $中经过逆向防火墙重新随机化后的会话密钥。

3) 挑战阶段:敌手A决定询问阶段何时结束,然后选择一个新鲜会话$\prod {_{i, j}^k} $作为其想挑战的会话发送给挑战者C。挑战者C随机选择一比特数据b∈{0, 1}。如果b=0,则获得$\prod {_{i, j}^k} $的真实会话密钥;否则选择个随机数作为$\prod {_{i, j}^k} $的会话密钥。挑战者C将挑战会话密钥发送给敌手A

4) 二次询问阶段:敌手A可以继续如第一次询问阶段一样进行多次询问,但需保证会话$\prod {_{i, j}^k} $是新鲜的。

5) 猜测阶段:敌手A输出一比特数据b′。如果b′=b,则A赢得游戏。

定义A赢得游戏的概率为AdvAKAA=|Pr[b′=b]-1/2|,其中Pr[b′=b]表示b′=b的概率。

4 协议构造

协议设计基于Kumar和Saxena的认证密钥协商协议[22], 分为系统建立、随机化系统参数、密钥生成、重随机化用户密钥、身份认证与密钥协商5个部分。

4.1 系统建立(Setup)

注册服务器首先根据给定的安全参数k,选择一个q(q≥2k的素数)阶循环加法群G1PG1的生成元,然后注册服务器按照如下步骤进行操作:

1) 随机选取系统的主密钥$s \in \mathbb{Z}_q^*$,计算Ppub=sP

2) 选择2个安全的Hash函数:${H_1}:{\rm{ }}\left\{ {0, 1} \right\}* \times {G_1} \to \mathbb{Z}_q^*$${H_2}:{\rm{ }}\left\{ {0, 1} \right\}* \times {\rm{ }}\left\{ {0, 1} \right\}* \times {G_1} \to \mathbb{Z}_q^*$

3) 设置系统参数par=(q, G1, P, Ppub, H1, H2),发送par给自己的防火墙WRS,且保密系统主密钥s

4.2 随机化系统参数(WRS.Setup)

注册服务器的防火墙WRS收到par后,随机选择一个秘密值$a \in \mathbb{Z}_q^*$,重随机化PpubPpub=αPpub,公开系统参数par′=(q, G1, P, Ppub, H1, H2)。

4.3 密钥生成(KeyGen)

用户提交自己身份信息给注册服务器,注册服务器生成相应的用户私钥。注册服务器收到Alice的身份信息IDA,Bob的身份信息IDB后,开始进行如下操作:

1) 随机选择一个秘密值${r_A} \in \mathbb{Z}_q^*$,计算${R_A} = {r_A}P, {Q_A} = {H_1}(I{D_A}||{R_A})$SA=srAQA,将(RA, SA)发送给WRS

2) 随机选择一个秘密值${r_B} \in \mathbb{Z}_q^*$,计算${R_B} = {r_B}P, {Q_B} = {H_1}(I{D_B}||{R_B})$SB=srBQB,将(RB, SB)发送给WRS

4.4 重随机化用户密钥(WRS.KeyGen)

注册服务器的防火墙WRS收到(RA, SA)和(RB, SB)后,利用秘密值α重随机化用户私钥得SA=αSASB=αSB,分别发送(RA, SA)和(RB, SB)给Alice和Bob作为他们的长期私钥。

注册服务器的防火墙WRS可以总结为图 3

图 3 注册服务器的逆向防火墙 Fig. 3 Reverse firewall for registration server
4.5 身份认证与密钥协商(KeyAgreement)

通过双方计算生成的会话令牌完成用户身份认证,生成相同的会话密钥。图 4描述了该部分的过程,以下将介绍具体的协议过程。

图 4 Bob的逆向防火墙 Fig. 4 Reverse firewall for Bob

Alice的会话令牌:

1) Alice随机选择临时私钥$a \in \mathbb{Z}_q^*$,计算会话令牌TA=aRA,发送(IDA, RA, TA)给Bob的防火墙WB

2) WB随机选择一个秘密值$\beta \in \mathbb{Z}_q^*$,重随机化TATA=βTA, 发送(IDA, RA, TA)给Bob。这一过程也称为WB.KeyAgreement。

Bob的会话令牌:

1) Bob随机选择临时私钥$b \in \mathbb{Z}_q^*$,计算会话令牌TB=bRB,发送(IDB, RB, TB)给WB

2) WB利用秘密值β重随机化TBTB=βTB, 发送(IDB, RB, TB)给Alice。这一过程也称为WB. KeyAgreement。

Alice和Bob收到(IDA, RA, TA)和(IDB, RB, TB)后,利用各自的长期私钥SASB和临时私钥ab计算会话密钥KAKB

1) Alice计算KA=SAaH1(IDBRB)TBhA=H2(IDA‖IDBKA),发送hA给Bob。

2) Bob计算KB=SBbH1(IDARA)TAhB=H2(IDA‖IDBKB),发送hB给Alice。

如果hA=hB,则KA=KB=K为会话密钥,用户认证与密钥协商结束。

对于WRS的功能,它保证了注册服务器被妥协后用户私钥SASB的机密性。在文献[22]协议中,当主密钥s泄露后,敌手能够获得用户私钥。但在协议中,随机化系统参数(WRS.Setup)利用随机数α随机化了主密钥,阻止了敌手获取用户私钥。同样,协议重随机化了用户长期私钥(WRS.KeyGen),抵抗了用户长期密钥泄露攻击。

对于WB的功能,它保证了Alice或者Bob被妥协后双方协商会话密钥的机密性。在文献[22]协议中,如果用户的长期私钥和临时私钥同时泄露,敌手能够计算出本次的会话密钥。但在协议中,WB会重随机化会话令牌(WB.KeyAgreement),使得TIDTID对于敌手是不可区分的。

5 安全性证明与性能分析 5.1 安全性证明

通过定理1证明所提的ID-AKA-RF协议维持了Kumar和Saxena[29]中的ID-AKA协议所具有的安全特性。同时,通过注释1,补充说明了即使被妥协注册服务器能进行EphemeralKeyReveal($\prod {_{i, j}^k} $)询问,所提的ID-AK-RF协议也能保持密钥协议的安全性。这体现了协议的强安全性。

定理1在随机预言模型中, 如果Kumar和Saxena的ID-AKA协议[29]满足认证密钥安全性,则ID-AKA-RF协议能够1)维持功能性; 2)保持安全性; 3)提供抗泄露性。

证明: 以下为3个功能的叙述。

1) 维持功能性: 对于Alice,计算

$ {K_A} = S{\mathit{'}_A}a{H_1}(I{D_B}||{\mathit{R}_B})\mathit{T}{\mathit{'}_B} =\\ \alpha {S_A}a{H_1}({\rm{I}}{{\rm{D}}_B}||{R_B})\beta {T_B} =\\ \alpha s{r_A}{Q_A}a{H_1}({\rm{I}}{{\rm{D}}_B}||{R_B})\beta b{R_B} =\\ \alpha \beta abs{r_A}{r_B}{Q_A}{Q_B}P, $

对于Bob,计算

$ {K_B} = S{\mathit{'}_B}b{H_1}(I{D_A}||{\mathit{R}_A})\mathit{T}{\mathit{'}_A} =\\ \alpha {S_B}b{H_1}({\rm{I}}{{\rm{D}}_A}||{R_A})\beta {T_A} =\\ \alpha s{r_B}{Q_B}b{H_1}({\rm{I}}{{\rm{D}}_A}||{R_A})\beta a{R_A} =\\ \alpha \beta abs{r_A}{r_B}{Q_A}{Q_B}P, $

因为KA=KB,所以会话密钥

$ {h_A} = {H_2}({\rm{I}}{{\rm{D}}_A}||{\rm{I}}{{\rm{D}}_B}||{K_A}) = {h_B} = {H_2}({\rm{I}}{{\rm{D}}_A}||{\rm{I}}{{\rm{D}}_B}||{K_B}){\rm{ }} \circ $

2) 保持安全性: 通过被篡改的算法Setup*、KeyGen*、KeyAgreement*来证明协议和Kumar和Saxena的ID-AKA协议[29]的密钥协商安全性具有不可区分性。

首先,证明ID-AKA-RF密钥协商安全性的游戏已经被介绍,同时文献[29]中也介绍了ID-AKA密钥协商安全性的标准安全游戏。接下来,考虑以下游戏:

① 游戏0:和介绍的游戏一样。

② 游戏1:和游戏0一样,除了系统公共参数Ppub是由标准安全游戏中的Setup产生,而不是询问阶段和二次询问阶段中的Setup*和WRS. Setup产生。

③ 游戏2:和游戏1一样,除了用户长期私钥Si, i∈{D, C}是由标准安全游戏中的KeyGen产生,而不是询问阶段和二次询问阶段中的KeyGen*和WRS. KeyGen产生。

④ 游戏3:和游戏2一样,除了会话令牌Ti, i∈{A, B}是由标准安全游戏中的KeyAgreement产生,而不是询问阶段和二次询问阶段中的KeyAgreement*和WB. KeyAgreement产生。此时,游戏3是Kumar和Saxena中的ID-AKA标准安全游戏[29]

接着,证明游戏0和游戏1、游戏1和游戏2、游戏2和游戏3的不可区分性。

① 游戏0和游戏1的不可区分性:假设存在一个被篡改的算法Setup*生成系统公共参数Ppub,系统利用算法WRS. Setup产生了一个更新后的系统公共参数PpubPpub对于系统来说是一个一致的随机数,因为Ppub具有密钥延展性,所以P′pub可以看作是由算法Setup生成的。因此,游戏0和游戏1是不可区分的。

② 游戏1和游戏2的不可区分性:假设存在一个被篡改的算法KeyGen*生成用户长期私钥Si,系统利用算法WRS.KeyGen产生了一个更新后的用户长期私钥SiSi对于用户来说是一个一致的随机数,因为Si具有密钥延展性,所以Si可以看作是由算法KeyGen生成的。因此,游戏1和游戏2是不可区分的。

③ 游戏2和游戏3的不可区分性:假设存在一个被篡改的算法KeyAgreement*生成会话令牌Ti,系统利用算法WB.KeyAgreement产生了一个更新后的会话令牌Ti′。Ti′对于算法KeyAgreement来说是一个一致的随机数,因为原ID-AKA协议是可重随机化的,所以Ti′可以看作由是算法KeyAgreement而不是KeyAgreement *生成的。因此,游戏2和游戏3是不可区分的。

因为Kumar和Saxena的ID-AKA协议[29]具有密钥协商安全性,所以ID-AKA-RF协议也具有密钥协商安全性。

3) 提供抗泄露性: 游戏0和游戏3之间的不可区分性意味着对于注册服务器和Bob逆向防火墙能够提供消息抗泄露性。

注释1在Kumar和Saxena中的ID-AKA协议的安全模型[29]中,被妥协的PKG不能对会话的临时私钥进行询问。例如,当一次会话进行,敌手获得了一次会话的临时私钥ab。如果被妥协的PKG泄露了用户长期私钥的秘密值rArB,敌手可以通过以下等式计算出会话密钥

$ K = {S_A}a{H_1}({\rm{I}}{{\rm{D}}_B}||{R_B}){T_B} = {S_A}a{Q_B}b{R_B} = {r_A}{r_B}sab{Q_A}{Q_B}P = {r_A}{r_B}ab{Q_A}{Q_B}{P_{pub \circ }} $

但是在ID-AKA-RF协议中,即使rArBab都被敌手获知,因为Bob的逆向防火墙对会话令牌进行了重随机化处理Ti=βTi。同时因为ECDLP,即使Ti=kRi, k∈{a, b}和TTi可以被敌手获知,敌手也无法计算出β。因为如下等式,无法计算出会话密钥

$ K = S{\mathit{'}_A}a{H_1}({\rm{I}}{{\rm{D}}_B}||{R_B})T{\mathit{'}_B} =\\ S{\mathit{'}_A}a{Q_B}\beta b{R_B} =\\ \alpha {S_A}ab{Q_B}\beta {r_B}P =\\ \alpha b{r_A}{r_B}{Q_A}{Q_B}\alpha sP =\\ \alpha b{r_A}{r_B}{Q_A}{Q_B}\beta P{\mathit{'}_{pub \circ }} $

所以协议通过密码防火墙提高了原协议的信息抗泄露性。

5.2 性能分析

为了分析ID-AKA-RF协议的性能,将该协议与4个无需双线性对的ID-AKA协议进行比较,包括Cao等[16]、Tseng等[30]、Islam等[31]、Kumar等[29]。为了方便后面的统计, 首先用符号定义协议中所用到的运算, 如表 1所示。

表 1 符号定义 Table 1 Symbol definition

表 2给出了这几个协议的计算成本和通信成本。因为每个用户只需要注册一次, 而每次会话都需要进行认证密钥协商,所以这里只考虑认证密钥协商阶段的计算成本和通信成本。通过表 2可以看出,只有Kumar等[29]与ID-AK-RF协议在eCK模型进行了安全性证明,并且实现了抗临时会话秘密值攻击。相比于Kumar等[29]的ID-AKA协议,ID-AKA-RF协议允许敌手进行更强的KSTIA攻击,表现在于敌手在获得一次会话的临时秘密值的同时,还能够获得用户长期私钥的秘密值。

表 2 与以往ID-AKA协议比较 Table 2 Comparison with the previous ID-AKA protocols

在通信成本方面,设置了3个不同的安全等级: 80、120和128[32]。这3个安全等级分别对应于2TDEA (2-key triple-DES)[33],3TDEA (3-key triple-DES)[33]和AES-128。选择了基于有限域E(Fp)上的椭圆曲线y2=x3+xmodpG1G2分别是循环加法群和循环乘法群,它们的阶都为q。表 3列举了在不同安全等级下pq的值。根据表 3,在80安全等级下,|Zq|=160 bits,|G1|=|G2|=1 024 bits。同样可以计算出其他两个安全等级下群G1G2中的元素值。

表 3 不同安全等级下的p和q (bits) Table 3 p and q under different security levels (bits)

图 5展示了不同安全等级下的ID-AKA协议通信成本,其中取用户的身份信息ID为512比特。通过比较后发现,ID-AKA-RF协议在身份认证与密钥协商阶段所需要的通信带宽窄。随着安全等级的提高,ID-AKA-RF协议带宽优势更加明显,特别是与Islam等[31]相比。

图 5 不同安全等级下通信成本的比较 Fig. 5 Comparison of communication costs under different security levels

在计算成本方面,使用开源库JPBC库编程实现这5个协议,采用了上述的椭圆曲线y2=x3+xmodp,设计嵌入度数为2。所以相比于表 3中的p值,实验中的参数应该为$\left| {\frac{p}{2}} \right|$。实验环境为Intel(R) Core(TM) i5-5200U CPU@2.20GHz处理器,8GB的RAM和64位的操作系统上配备的Eclipse, Neon.1a Release。在不同的安全等级下,对每个算法执行100次以取平均值。图 6比较了不同安全等级下会话密钥协商和整个过程需要的时间。通过图 6,可以得知ID-AKA-RF协议在会话密钥认证与协商阶段所花的时间较小,仅大于Kumar等[29]等的ID-AKA协议。表 4列出了不同安全等级下,这些协议运行所花的总时间。在安全等级为80bits时,相比于Cao等[16]、Tseng等[30]、Islam等[31]的ID-AKA协议,ID-AKA-RF协议在时间方面减少了: (654-557)/654=14.8%,(751-557)/751=25.8%和(823-557)/823=32.3%。由图 6表 4可知,ID-AKA-RF协议在计算成本上具有一定优势,且随着安全等级的提高,优势明显加大。所以协议适合在资源受限的系统中应用。

图 6 不同安全等级下会话密钥协商运行时间的比较 Fig. 6 Comparison of session key agreement running time under different security levels
表 4 不同安全等级下的运行时间 Table 4 The running time under different security levels 
5.3 协议应用

研究提出的协议可以应用到需要建立会话密钥的场景。例如,在移动客户端——服务器环境中,用户(客户端)使用低功耗移动设备访问强大的服务器以便得到某种服务,如移动电子邮件、移动Web访问等。为了防止未经授权的用户访问服务器的服务,需要对用户进行身份验证。此外,客户端和服务器之间传输的消息可能是敏感的,需要在它们之间建立会话密钥。最后,为了防止后门程序扰乱认证密钥协商协议的执行,需要加装逆向防火墙功能。

6 结论

在不使用双线性对运算的情况下构造了一种适用于基于身份认证密钥协商的逆向防火墙协议。同时在随机预言机模型中,证明了该协议能够抗泄露攻击,特别是能够抵抗强的临时秘密值泄露攻击。最后利用JPBC库,实现了该协议并进行了性能分析。在通信成本方面,该协议具有较低的带宽;在计算成本方面,虽然该协议相比于Cao等[16]和Kumar等[29]的ID-AKA协议有一定的增加,但处于合理范围内。综合安全性方面的考虑,协议与其他同类型ID-AKA协议相比具有很大的性能优势,十分适合应用于资源受限的设备中。

参考文献
[1]
Diffie W, Hellman M. New directions in cryptography[J]. IEEE Transactions on Information Theory, 1976, 22(6): 644-654. DOI:10.1109/TIT.1976.1055638
[2]
Matsumoto T, Takashima Y, Imai H. On seeking smart public-key-distribution systems[J]. Ieice Transactions (1976-1990), 1986, 69(2): 99-106.
[3]
Kunz-Jacques S, Pointcheval D. About the Security of MTI/C0 and MQV[C]//International Conference on Security and Cryptography for Networks. Berlin, Heidelberg: Springer, 2006: 156-172.
[4]
Law L, Menezes A, Qu M H, et al. An efficient protocol for authenticated key agreement[J]. Designs, Codes and Cryptography, 2003, 28(2): 119-134. DOI:10.1023/A:1022595222606
[5]
Krawczyk H. HMQV: A high-performance secure diffie-Hellman protocol[C]//Advances in Cryptology-CRYPTO 2005, 2005: 546-566.
[6]
Canetti R, Krawczyk H. Analysis of key-exchange protocols and their use for building secure channels[C]//Advances in Cryptology-EUROCRYPT May 6-10, 2001. Innsbruck, Austria. Berlin: Springer, 2001: 453-474.
[7]
LaMacchia B, Lauter K, Mityagin A. Stronger security of authenticated key exchange[C]//International Conference on Provable Security-ProvSec 2007. Berlin: Springer, 2007: 1-16.
[8]
Yao C, Zhao Y. OAKE. A new family of implicitly authenticated Diffiee-Hellman protocols[C]//Proceedings of the 2013 ACM SIGSAC Conference on Computer and Communications-CCS. November 4-8, 2013. New York: Association for Computing Machinery, 2013: 1113-1128.
[9]
Lauter K, Mityagin A. Security analysis of KEA authenticated key exchange protocol[C]//Public Key Cryptography-PKC 2006. New York: Springer-Verlag, 2006: 378-394.
[10]
Shamir A. Identity-based cryptosystems and signature schemes[C]//Workshop on the theory and application of cryptographic techniques. Berlin, Heidelberg: Springer, 1984: 47-53.
[11]
Boneh D, Franklin M. Identity-based encryption from the weil pairing[C]//Advances in Cryptology-CRYPTO 2001. Tokyo: Springer, 2001: 213-229.
[12]
Joux A. A one round protocol for tripartite diffie-Hellman[J]. Journal of Cryptology, 2004, 17(4): 263-276. DOI:10.1007/s00145-004-0312-y
[13]
Smart N P. Identity-based authenticated key agreement protocol based on Weil pairing[J]. Electronics Letters, 2002, 38(13): 630. DOI:10.1049/el:20020387
[14]
Chen L, Kudla C. Identity based authenticated key agreement protocols from pairings[C]//16th IEEE Computer Security Foundations Workshop, 2003. Proceedings. June 30-July 2, 2003, Pacific Grove, CA, USA: IEEE, 2003: 219-233.
[15]
Huang H, Cao Z. An id-based authenticated key exchange protocol based on bilinear Diffiee-Hellman problem[C]//Proceedings of the 4th International Symposium on Information, Computer, and Communications Security-ASIACCS'09. Sydney, Australia. : ACM, 2009: 333-342.
[16]
Cao X F, Kou W D, Du X N. A pairing-free identity-based authenticated key agreement protocol with minimal message exchanges[J]. Information Sciences, 2010, 180(15): 2895-2903. DOI:10.1016/j.ins.2010.04.002
[17]
Islam S H, Biswas G P. An improved pairing-free identity-based authenticated key agreement protocol based on ECC[J]. Procedia Engineering, 2012, 30: 499-507. DOI:10.1016/j.proeng.2012.01.890
[18]
Daniel R M, Rajsingh E B, Silas S. An efficient ECK secure identity based two party authenticated key agreement scheme with security against active adversaries[J]. Information and Computation, 2020, 275: 104630. DOI:10.1016/j.ic.2020.104630
[19]
Bellare M, Paterson K G, Rogaway P. Security of symmetric encryption against mass surveillance[C]//Advances in Cryptology-CRYPTO'04. 2004. Berlin: Springer, 2014: 1-19.
[20]
Tang Q, Yung M. Cliptography: Post-Snowden cryptography[C]//Proceedings of ACM SIGSAC Conference on Computer and Communications Security-CCS'17. October 30-November 3, 2017. Dallas, TX, USA: ACM, 2017: 2615-2616.
[21]
Mironov I, Stephens-Davidowitz N. Cryptographic reverse firewalls[M]//Advances in Cryptology-EUROCRYPT 2015. Berlin, Heidelberg: Springer, 2015: 657-686.
[22]
Ateniese G, Magri B, Venturi D. Subversion-resilient signature schemes[C]//Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security-CCS'15. October 12-16, 2015. USA: ACM, 2015: 364-375.
[23]
Dodis Y, Mironov I, Stephens-Davidowitz N. Message transmission with reverse firewall-secure communication on corrupted machines[C]//Advances in Cryptology-CRYPTO 2016. Berlin: Springer, 2016: 341-372.
[24]
Chen R, Mu Y, Yang G, et al. Cryptographic reverse firewall via malleable smooth projective hash functions[C]//Advances in Cryptology-ASIACRYPT 2016. Berlin: Springer, 2016: 844-876.
[25]
Ma H, Zhang R, Yang G, et al. Concessive online/offline attribute based encryption with cryptographic reverse firewalls secure an efficient fine-grained access control on corrupted machines[C]//European Symposium on Research in Computer Security-ESORICS 2018. Berlin: Springer, 2018: 507-526.
[26]
Hong B, Chen J, Zhang K, et al. Multi-authority non-monotonic KP-ABE with cryptographic reverse firewall[J]. IEEE Access, 2019, 7: 159002-159012. DOI:10.1109/ACCESS.2019.2950394
[27]
Zhou Y, Guan Y, Zhang Z, et al. Cryptographic reverse firewalls for identity-based encryption[C]//Frontiers in Cyber Security, FCS 2019. Singapore: Springer 2019: 36-52.
[28]
Zhou Y Y, Guo J, Li F G. Certificateless public key encryption with cryptographic reverse firewalls[J]. Journal of Systems Architecture, 2020, 109: 101754. DOI:10.1016/j.sysarc.2020.101754
[29]
Kumar M, Saxena P. PF-AID-2KAP: Pairing-free authenticated identity-based two-party key agreement protocol for resource-constrained devices[C]//Futuristic Trends in Network and Communication Technologies. Singapore: Springer. 2018: 425-440.
[30]
Tseng Y M, Huang S S, You M L. Strongly secure ID-based authenticated key agreement protocol for mobile multi-server environments[J]. International Journal of Communication Systems, 2017, 30(11): e3251. DOI:10.1002/dac.3251
[31]
Islam S H, Biswas G P. A pairing-free identity-based two-party authenticated key agreement protocol for secure and efficient communication[J]. Journal of King Saud University-Computer and Information Sciences, 2017, 29(1): 63-73. DOI:10.1016/j.jksuci.2015.01.004
[32]
Barker E B, Barker W C, Burr W E, et al. Recommendation for key management, part 1: [R]. National Institute of Standards and Technology, 2005.
[33]
Barker E, Mouha N. Recommendation for the triple data encryption Algorithm (TDEA) block cipher[R]. National Institute of Standards and Technology, 2017.
图 1 系统模型 Fig. 1 System model
图 2 挑战者C和敌手A之间的游戏 Fig. 2 The game between challenger C and adversary A
图 3 注册服务器的逆向防火墙 Fig. 3 Reverse firewall for registration server
图 4 Bob的逆向防火墙 Fig. 4 Reverse firewall for Bob
表 1 符号定义 Table 1 Symbol definition
表 2 与以往ID-AKA协议比较 Table 2 Comparison with the previous ID-AKA protocols
表 3 不同安全等级下的p和q (bits) Table 3 p and q under different security levels (bits)
图 5 不同安全等级下通信成本的比较 Fig. 5 Comparison of communication costs under different security levels
图 6 不同安全等级下会话密钥协商运行时间的比较 Fig. 6 Comparison of session key agreement running time under different security levels
表 4 不同安全等级下的运行时间 Table 4 The running time under different security levels 
一种适用于基于身份的认证密钥协商的逆向防火墙协议
刘畅 , 王晋 , 田里 , 王捷 , 叶净宇 , 秦帆 , 周雨阳