基于格密码的5G-R车地认证密钥协商方案

2024-03-07 12:34永,刘雯,张
铁道学报 2024年2期
关键词:公钥攻击者抵抗

陈 永,刘 雯,张 薇

(1.兰州交通大学 电子与信息工程学院,甘肃 兰州 730070;2.兰州交通大学 交通运输学院,甘肃 兰州 730070)

5G-R(5G for railway)作为我国下一代高速铁路移动通信系统,具有大带宽,和高速率等优点[1]。但是5G-R全新的服务网络架构使得5G-R网络接入时更易受到攻击、篡改和假冒欺骗等安全风险[2],危及行车安全[3]。

5G-R采用5G-AKA (5G-authentication and key agreement)车地认证密钥协商协议[4],然而,该协议被指出存在诸如接入认证请求消息SUCI(subscription concealed identifier)明文隐私泄露、根密钥不变、难以抵抗中间人、DoS攻击等多种安全隐患[5],为使该协议为5G-R提供更多高可信业务,国内外学者进行了大量的研究工作。

针对5G-AKA协议中认证请求消息SUCI明文传输易被攻击者获取的问题,一般通过采用加密传输信息或使用临时身份代替SUCI在协议中传输[6-11]。Dong等[6]使用哈希链建立身份池,并采用椭圆曲线协商传输密钥完成认证请求消息,但该方案并未考虑恶意服务器攻击。Hu等[7]利用公钥基础设施机制生成公私钥,采用非对称加密方式防止了用户身份认证请求消息的明文传输,但是该方案中根密钥K未实现动态更新。Yan等[8]使用公钥对信息加密,避免了SUCI重放攻击,但该方案中并未实现通信三方的相互认证,不满足密钥的前/后向安全性。Zhang等[9]使用归属网络HN的公钥和随机数避免了身份认证请求消息的明文传输,但是在该方案中参与会话的密钥K并未进行动态更新,易被攻击者获取,并且该方案并未实现通信三方的相互认证,不能够抵抗中间人等攻击。Braeken等[10]使用基于椭圆曲线的公钥加密算法保护SUCI的安全性,但UE与SN之间初次验证信息是由根密钥K派生的KSEAF加密之后进行传输的,根密钥K同样未实现动态更新。Goswami等[11]使用椭圆曲线集成加密方案防止用户身份明文传输,满足了匿名性的特性,但UE与HN之间的会话安全性依然由共享密钥K保护,并未进行动态更新。

此外,5G-AKA协议中根密钥长期不变,易被攻击者获取而导致信息泄露,为解决该问题,一系列针对根密钥更新的方案被提出[12-17]。Munilla等[12]使用动态更新的密钥代替根密钥K参与协议的运行,实现了会话密钥的前向安全性,但是该方案无法抵抗恶意服务器对UE发起的伪装服务网络SN攻击。Liu等[13]通过使用大量随机数和异或运算实现了UE与HN之间的会话密钥协商和更新,可抵抗重放等多种攻击,但是该方案需要消耗较大的计算开销,存在认证效率低的问题。Ying等[14]采用基于椭圆曲线密码的自认证公钥密码实现通信双方的密钥协商,但是该方案无法抵抗同步攻击。Haq等[15]使用单向哈希函数和椭圆曲线密码结合的方法,实现了通信双方的密钥协商和会话密钥的动态更新,但是在该方案中服务器身份ID被公开发布,易遭受DoS攻击。Xiao等[16]采用椭圆曲线和公钥/私钥对的方法,实现了会话密钥的动态更新,但该方案无法抵抗DoS攻击。Chow等[17]使用椭圆曲线和一次性机密哈希函数,实现了密钥动态更新,防止了可链接性攻击、中间人攻击和DoS等攻击,但是该方案中未实现SUCI身份保护。

综上,针对SUCI隐私泄露、根密钥不变和效率低等问题,基于格密码理论提出一种新型5G-R车地认证方法。研究包括:

1)本文方案使用临时身份信息GUTI代替SUCI在协议中传输,避免了SUCI明文传输问题,实现了SUCI的机密性保护。

2)利用基于格上的公钥密码机制和近似平滑投射散列函数,并结合密钥共识算法,实现了根密钥的动态更新和前后向安全性。

3)通过在车地认证消息中加入时间戳、随机质询机制以及消息认证码,完成了车地通信三方互认证,能够抵抗中间人攻击、DoS攻击、量子攻击和伪装SN攻击等多种恶意攻击。

4)采用串空间方法验证了所提方案的安全性。

1 车地认证5G-AKA协议

5G-R网络采用5G-AKA作为车地之间的安全通信协议[18]。通信系统包括UE设备、服务网络SN和归属网络HN,符号及含义定义见表1。

表1 符号及含义

5G-AKA协议步骤如下:

Step1UE向鉴权服务功能SEAF发送申请接入请求消息M1:{SUCI}。

Step2SEAF根据SUCI中包含的归属网络标识查找对应的HN,并向AUSF发送M2:{M1,SNN}。

Step3AUSF验证SNN,若验证不通过,则终止认证;否则暂时存储SNN,然后给鉴权证书库和处理功能ARPF发送M3:{SUCI,SNN}。

Step4ARPF从SUCI中根据共享密钥解密出SUPI。然后ARPF计算密钥KAUSF和XRES*。随后,生成归属网络鉴权向量5G_HE_AV(5G home environment authentication vector),并向AUSF发送M4:{SUPI,5G_HE_AV}。

Step5AUSF保存接收的SUPI和XRES*,计算HXRES*,密钥KSEAF。根据5G_HE_AV生成鉴权向量5G_AV,移除5G_AV中的密钥KSEAF得到服务网络认证向量5G_SE_AV(5G serving environment authentication vector),随后向SEAF发送M5:{5G_SE_AV}。

Step6SEAF接收到AUSF发送的消息后,保存HXRES*,向UE发送M6:{RAND,AUTN}。

Step7UE计算匿名密钥AK,通过同步序列号SQN和消息认证码MAC,计算XMAC,验证XMAC?=MAC,若相等,则验证接收消息初步成功,随之验证SQN是否正确;若不相等,则终止认证。否则计算RES,RES*、KSEAF,向SEAF发送M7:{RES*}。

Step8SEAF计算HRES*,验证HRES*?=HXRES*,若不相等,则认证失败。否则向AUSF发送M8:{RES*}。

Step9AUSF验证5G_AV是否过期,若过期,则认证失败;否则,验证RES*?=XRES*,若不相等,则HN认为鉴权认证失败。否则AUSF向SEAF发送M9:{SUPI,KSEAF}。SEAF会使用KSEAF用于后续通信会话。

2 5G-AKA协议缺陷分析

1)SUCI泄露易遭受重放攻击

在Step1中,UE发送SUCI接入请求,归属网络HN接收到SUCI之后分离出身份标识符SUPI,从而获取到与UE共享的相关信息,但是在车地认证过程中,由于SUCI在空中接口中以明文形式进行传输,攻击者易通过截获SUCI对归属网络HN发起重放攻击或冒充UE造成拒绝服务攻击。

2)根密钥K的泄露

Step4中,通过根密钥K派生出的IK、CK、AK等密钥和SNN、SQN共同生成的KAUSF,并由密钥KAUSF派生出会话密钥KSEAF,而会话密钥的安全性决定车地通信会话的隐私性和可靠性,一旦根密钥K泄露,将会导致攻击者推导出会话密钥KASME继而发起中间人攻击。

3)DoS攻击

在Step1中,UE明文传输SUCI作为接入认证请求,并且在Step2中,SN并未对来自UE的消息进行验证,攻击者易截获该消息对SN发起重放攻击,导致SN拒绝为UE提供服务。

4)链路通信信息泄露

UE与SN使用不安全空中接口进行通信,易受到窃听、篡改、注入等攻击,一般对该链路传输的信息采用加密方式以保障传输信息的安全性。

3 基于格密码的5G-R车地认证密钥协商方案

格上的运算大多是线性运算,具有并行计算、计算开销小的特点[20]。格密码的安全设计主要基于格的带错误学习 (learningwitherrors,LWE)求解困难问题,即攻击者无法在多项式概率时间算法内恢复出秘密向量[21]。基于格的LWE求解困难问题被证明在随机归约下均属于NP-hard类问题,可以抵抗量子攻击[22]。

基于格密码理论,根据格密码所具有的高安全性和高效率的特点,提出一种基于格的密钥协商认证方案。通过格上公钥密码机制和近似平滑投射散列函数以及密钥共识算法实现会话密钥的动态更新,并加入随机质询和消息认证码抵抗多种攻击。本文方法主要包括注册和认证两个阶段,其中在UE进行认证请求之前,需要在HN处完成注册,之后,则进行认证协议,从而完成车地之间的相互认证和密钥协商。

3.1 注册阶段

首先,在车地通信时,列车UE在接入到归属网络HN并与HN完成身份认证和密钥协商之前需要向HN发起身份注册请求,具体步骤为:

Step1UE选择身份信息IDUE,计算临时身份GUTI=SUCI⊕IDUE,通过安全信道发送接入请求M1:{IDUE,GUTI,UE}到HN。

Step2HN收到UE的接入请求后,维护一个GUTI、IDUE与UE的序列。此时,HN和SN利用基于格上的密文攻击安全公钥加密体制[23],分别生成公私钥对(pkHN,skHN)←KeyGen(1k)、(pkSN,skSN)←KeyGen(1k),其中KeyGen()为临时密钥生成函数;←为生成符号;k为安全参数;HN通过安全通道发送{pkHN}给UE和SN,SN通过安全通道发送{pkSN}给HN。

公私钥对的生成方法如下:

令n1,n2∈Z,q为素数,n=n1+n2,m=O(nlnq)∈Z,α,β∈R,其中O(nlnq)为参数m的标准计算方法,α、β为系统参数。

①HN输入安全参数k,计算(AHN-0,RHN-0)←TrapGen(1n,1m,q)、(AHN-1,RHN-1)←TrapGen(1n,1m,q)、crs←CRSGen(1k),输出公私钥对(pkHN,skHN)=((AHN-0,AHN-1,crs),RHN-0),其中TrapGen()为陷门函数,A为矩阵,R为陷门,CRSGen()为公共参数函数,crs为公共参数。

②SN输入安全参数k,计算(ASN-0,RSN-0)←TrapGen(1n,1m,q)、(ASN-1,RSN-1)←TrapGen(1n,1m,q)、crs←CRSGen(1k),输出公私钥对(pkSN,skSN)=((ASN-0,ASN-1,crs),RSN-0)。

Step3UE收到HN的反馈消息之后,保存pkHN。

Step4SN保存pkHN。

Step5HN保存pkSN。

3.2 认证阶段

为了保障车地通信过程中信息的安全性、完整性和机密性,列车UE和服务网络SN都需要和归属网络HN相互完成身份验证,UE需与HN协商出后续通话所用的共享密钥SK,该阶段步骤如下:

Step1UE→SEAF:Mes1:EpkHN{GUTI,UE,hpUE,cUE=(uUE,vUE),T1}

列车UE在发送身份认证接入请求信息之前,设计了基于格理论的公钥加密体制对需要传输的信息进行加密,EpkHN中的E为加密操作,步骤如下:

①列车UE生成时间戳T1,选取随机数rUE←r{0,1}*和哈希密钥hkUE←rK,其中r{}表示随机选取。

②计算投射密钥hpUE=Proj(hkUE),其中Proj()为密钥投射函数。

③计算uUE=f(pkHN,SUPI,rUE),令labelUE:=UE‖HN‖hpUE‖T1,其中label为标签,其中f为近似平滑投射散列函数中的标准计算函数。

④计算vUE=g(pkHN,labelUE,SUPI,rUE),cUE=(uUE,vUE),其中g为近似平滑投射散列函数中的标准计算函数。

⑤UE计算之后,使用公钥pkHN加密传输信息,并将接入请求Mes1发送到SEAF。

Step2SEAF→AUSF:Mes2:EpkHN{Mes1,RANDSN,SNN}

SEAF收到接入请求消息之后,生成随机质询响应消息RANDSN,使用公钥pkHN加密后,将消息Mes2发送到AUSF,然后SEAF将RANDSN记为RANDSN-OLD并存储。

Step3AUSF→ARPF:Mes3:{GUTI,UE,hpUE,cUE=(uUE,vUE),T1,SNN}

AUSF接收来自SEAF的消息之后,使用私钥skHN对消息进行解密,检索RANDSN是否为初次接收。若是,则保存RANDSN;若不是,则进一步检查RANDSN是否在存储空间中,若是则拒绝接入请求,否则,接收接入请求,判断RANDSN-RANDSN-OLD?=1,若不相等则拒绝接入请求,否则,令RANDSN=RANDSN+1,并将此次接收的RANDSN记为RANDSN-OLD存储。之后,AUSF检查网络序列号SNN是否正确,若不正确,则拒绝身份认证接入请求,否则接受并存储SNN,将消息Mes3转发到ARPF。

Step4ARPF→AUSF:Mes4:{hpHN,cHN=(uHN,vHN),w,tk,SUPI,{5G_HE_AV}},步骤如下:

①ARPF收到消息后,保存网络序列号SNN,生成时间戳T2,判断是否T2-T1≥ΔT,若是,拒绝接入请求,否则,从GUTI中恢复出SUCI:SUCI=GUTI⊕IDUE,使用用户标识符解密功能SIDF从SUCI中解密出SUPI。

②根据接收到的信息:hpUE,T1和labelUE:=UE‖HN‖hpUE‖T1验证密文cUE的有效性。若密文cUE无效,则终止认证;否则,选取随机数rHN←r{0,1}*和哈希密钥hkHN←rK。

③计算投射密钥hpHN=Proj(hkHN)。

④计算uHN=f(pkHN,SUPI,rHN),令labelHN:=UE‖HN‖hpUE‖cUE‖hpHN‖w,其中w为系统安全参数。

⑤计算vHN=g(pkHN,labelHN,SUPI,rHN),cHN=(uHN,vHN),tk=Hash(hpUE,uHN,SUPI,rHN)⊕HhkHN(uUE,SUPI)

⑥使用对称密钥共识算法[24]计算HN与UE之间的会话协商密钥SK:(SK,w)←Con(tk,params),其中,params为系统参数,Con()为概率多项式时间调制函数。ARPF生成RAND,计算AUTN和XRES*,导出KAUSF,生成鉴权向量5G_HE_AV,并向AUSF发送Mes4。

5G_HE_AV的计算式为

MAC=f1(SK,(SQN‖RAND‖AMF‖SNN))·

XRES=f2(SK,RAND)

CK=f3(SK,RAND)

IK=f4(SK,RAND)

AK=f5(SK,RAND)

AUTN=(SQN⊕AK)‖AMF‖MAC

AV=RAND‖XRES‖CK‖IK‖AUTN

XRES*=KDF(CK‖IK,SNN‖RAND‖XRES)

KAUSF=KDF(CK‖IK,SNN‖SQN⊕AK)

5G_HE_AV=RAND‖AUTN‖XRES*‖KAUSF

式中:f1和f2为消息认证函数;f3,f4和f5为密钥生成函数。

Step5AUSF→SEAF:Mes5:EpkSN{hpHN,cHN=(uHN,vHN),w,KSEAF,SUPI,RANDSN,{5G_SE_AV}}

AUSF保存接收到的SUPI和XRES*,计算HXRES*和密钥KSEAF,并生成鉴权向量5G_AV,从而得到服务网络认证向量5G_SE_AV,随后使用SN公钥pkSN加密消息,之后向SEAF发送Mes5。5G_SE_AV的计算式为

HXRES*=SHA256(RAND,XRES*)

KSEAF=KDF(KAUSF,SNN)

5G_AV=RAND‖AUTN‖HXRES*‖KSEAF

5G_SE_AV=RAND‖AUTN‖HXRES*

Step6SEAF→UE:Mes6:{hpHN,cHN=(uHN,vHN),w,RANDSN,RAND,AUTN,MACSN}

SEAF接收到AUSF发送的消息之后,使用私钥skSN解密消息,验证随机质询响应RANDSN-RANDSN-OLD?=1。若不相等则拒绝接受来自HN的身份认证响应消息;否则,保存数据HXRES*、RANDSN、SUPI,建立SUPI与KSEAF一一对应的列表。随后,SEAF将会计算SN消息认证码:MACSN=HMAC(KSEAF,RANDSN‖RAND‖AUTN),并向UE发送Mes6。

Step7UE→SEAF:Mes7:{MACUE,RES*}

UE接收到消息之后,执行以下步骤:

①根据接收到的信息:hpHN、w和labelHN:=UE‖HN‖hpUE‖cUE‖hpHN‖w验证密文cHN的有效性。若密文cHN无效,则终止认证协议;否则计算tk′=HhkUE(uHN,SUPI)⊕Hash(hpHN,uUE,SUPI,rUE),并计算UE与HN之间的会话协商密钥SK:SK←Rec(tk′,w,params)。

②计算匿名密钥AK=f5(SK,RAND)。

③从AUTN中提取出SQN和MAC,检索SQN=(SQN⊕AK)⊕AK,计算XMAC=f1(SK,(SQN‖RAND‖AMF‖SNN)),验证XMAC?=MAC,若相等则验证成功。随之验证SQN的正确范围,若不在,则终止认证,否则计算:

RES=f2(SK,RAND)

CK=f3(SK,RAND)

IK=f4(SK,RAND)

RES*=KDF(CK‖IK,SNN‖RAND‖RES)

KAUSF=KDF(CK‖IK,SNN‖SQN⊕AK)

KSEAF=KDF(KAUSF,SNN)

Step8SEAF→AUSF:Mes8:{RES*}

Step9AUSF→SEAF:Mes9:{Result}

AUSF接收到消息后,对接收到的消息和AUSF保存来自ARPF的XRES*进行验证RES*?=XRES*,若不相等,则从归属网络HN的角度认为鉴权认证失败,终止协议,并拒接后续通话,否则鉴权认证成功,AUSF向SEAF发送协议认证结果Mes9。

Step10SEAF收到消息之后,若认证结果失败,则终止认证,否则SEAF使用KSEAF用于后续通信会话,从而完成车地认证。

4 安全性分析

4.1 切换认证协议

1)SUCI保护

在原始5G-AKA协议中,攻击者可通过多次发起截获的SUCI进行初始化认证过程,以获得大量的认证令牌,并从中解析出SQN,进而发起攻击。本文方案中UE的认证请求消息SUCI不再进行明文传输,而使用临时身份GUTI代替SUCI在信道传输。在本文方法中,即使攻击者截获了GUTI,由于只有合法的UE和HN才持有IDUE,IDUE在信道中并未进行传输,攻击者无法根据式SUCI=GUTI⊕IDUE获得SUCI,根本上保证了SUCI的机密性传输。

2)前/后向安全性

在原始5G-AKA协议中,会话密钥KSEAF是由UE与HN之间的共享根密钥K派生而来,易被攻击者窃取从而推导出前次/后次的会话密钥,无法真正保障通信安全性。在本文方案中,通信会话密钥KSEAF的生成依赖于UE与HN之间的协商密钥SK,而SK是采用基于格的平滑投射哈希函数和对称密钥共识算法生成的。若攻击者想要破获SK就要解决带错误学习(learningwitherrors,LWE)格上困难问题,但该问题被证明攻击者在多项式时间内无法破解[21],故具有密钥前/后向安全性。

3)抵抗重放攻击

在原始5G-AKA协议中,攻击者容易截获UE与SN之间无线信道中传输的消息,从而发起重放攻击。而在本文方案中,UE与SN无线信道之间传输的认证请求消息为:EpkHN{GUTI,UE,hpUE,cUE=(uUE,vUE),T1},此消息中不仅包含时间戳T1,而且还使用基于格上LWE困难问题[21]生成的公钥pkHN对传输信息进行加密,只有合法的HN才拥有公钥pkHN所对应的私钥skHN,即使攻击者截获该消息,也无法破解该消息,因此可以避免重放攻击。

4)抵抗伪SN攻击

5)抵抗中间人攻击

在原始5G-AKA协议中,由于UE与SN、HN通信三方之间未进行相互认证,故存在攻击者作为中间人对截获的消息进行篡改、转发或监听的风险。在本文方案中,UE和SN发送的身份认证请求信息通过基于格的公钥pkHN加密之后发送到HN,只有合法的HN才有对应的私钥。同样,HN的响应消息也是由基于格的公钥pkSN加密之后发送到SN,只有合法的SN才持有对应的私钥。由此本文所提方案能够抵抗中间人攻击。

6)通信三方的相互认证

在原始5G-AKA协议中,由于UE、SN和HN之间通信三方未互认证,导致攻击者易发起多种诱骗攻击。而在本文方案中,通信三方能够实现三方互认证,具体分析如下:

①UE和HN之间的双向认证。UE向HN发送的身份认证请求信息中包含临时身份GUTI、密文消息cUE=(uUE,vUE)以及时间戳T1。HN在接收到消息之后,会对时间戳、临时身份GUTI和密文消息cUE进行验证,若都验证成功进行下一步。此外,HN会进行预期响应的验证RES*?=XRES*。在UE侧,通过验证来自HN的密文cHN和计算消息认证码XMAC=f1(SK,(SQN‖RAND‖AMF‖SNN))确定HN的合法性。因此,UE与HN完成了彼此的互相认证。

③HN和SN之间双向认证。只有合法的HN才持有公钥pkHN所对应的私钥skHN,并解密SN转发的消息。随后,HN验证随机质询响应消息RANDSN-RANDSN-OLD?=1和服务网络名称SNN是否一致,若一致则HN完成对SN的认证。同理,在SN侧只有合法的SN才持有公钥pkSN所对应的私钥skSN,并解密HN的响应消息,之后,通过验证随机质询响应RANDSN-RANDSN-OLD?=1完成对HN的验证。SN和HN之间的消息是由彼此的公钥加密之后进行传输的,故只有合法的HN和SN才能解密消息,从而对随机质询响应消息RANDSN进行操作。因此,HN和SN完成了彼此的互相认证。

从上述三方相互认证分析表明:本文方案能够保证通信三方的相互认证和不可否认性,从而克服了5G-AKA协议中通信三方无身份认证缺点。

7)抗量子攻击

在5G-AKA协议中,UE与HN之间的通信易被攻击者攻击。而在本文方案中,UE与HN之间的通信信息是由格上困难问题构造的,而格上困难问题被证明能够抵抗量子攻击[22],故本文方法能够抵抗量子攻击。

4.2 基于串空间的安全性证明

为了验证本文所提方案的正确性,采用串空间形式化方法进行数学证明。串空间模型是一种分析安全协议的形式化数学模型,该模型能够有效分析协议安全性[25]。将通信方抽象为UE、SN和HN,本文方法的串空间有向图见图1。

根据图1,初始化定义如下:

1)名称集合Tname,其中包含了UE、SN、HN。

2)假设串空间为Σ,s、r、t、P∈Σ。

①UE的串(起始串):s∈Init[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,RAND,AUTN,RES*],其中Init表示起始串。其轨迹为tr(s)=〈+{{SUCI,UE,hpUE,cUE,T1}pkHN},-{hpHN,cHN,w,RANDSN,RAND,AUTN,MACSN},+{MACUE,RES*}〉,其中,tr(s)〈〉表示串s的迹,+为发送,-为接收,UE、SN、HN∈Tname,pkHN∉KP,cUE、cHN形式化为原子项,kp为攻击者密钥集合。

②SN的串(响应串):r∈Resp[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,SNN,RAND,KSEAF,SUPI,H1,H2,H3,Result],其中Resp表示响应者串。其轨迹为tr(s)=〈-{{SUCI,UE,hpUE,cUE,T1}pkHN},+{{SUCI,UE,hpUE,cUE,T1,RANDSN,SNN}pkHN},-{{hpHN,cHN,w,KSEAF,SUPI,RANDSN,RAND,AUTN,HXRES*}pkSN},+{hpHN,cHN,w,RANDSN,RAND,AUTN,MACSN},-{MACUE,RES*},+{RES*},-{Result}〉,其中UE、SN、HN∈Tname,pkSN∉KP,pkHN∉KP,KSEAF∉KP,hpUE,hpHN,cUE、cHN形式化为原子项,H1、H2和H3是SN需要进行验证的消息,且H2=SHA256(RAND||H3) ,SHA256表示输出为256的哈希函数。

③HN的串(服务串):t∈Serv[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,SNN,RAND,KSEAF,SUPI,AUTN,HXRES*,RES*,Result],其轨迹为tr(t)=〈-{{SUCI,UE,hpUE,cUE,T1,RANDSN,SNN}pkHN},+{{hpUE,cHN,w,KSEAF,SUPI,RANDSN,RAND,AUTN,HXRES*}pkSN},-{RES*},+{Result}〉,其中UE、SN、HN∈Tname,pkSN∉KP,pkHN∉KP,KSEAF∉KP,hpUE,hpHN,cUE、cHN形式化为原子项,Serv为服务串操作。

④攻击者的串:p∈P。

3)UE对SN和HN的身份认证,其具体形式化过程如下:

定理1①假设C为一个簇,簇C中包含UE的串:s∈Init[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,RAND,AUTN,RES*]。

②pkHN∉KP。

③hpUE,cUE,hpHN,cHN,RAND、RANDSN唯一产生于空间Σ。

④簇C还包含HN的串和SN的串。

对定理1的证明过程如下:

首先,进行对协商会话密钥SK的证明:

①hpUE,cUE唯一产生于节点〈s,1〉,边〈s,1〉⟹+〈s,2〉是hpUE,cUE在tk中的出测试,其中⟹+表示同一个串上的因果前驱。

②由出测试原理[25]可知:存在正常节点m,m#∈C,使得tk是m的分量且m⟹m#是hpUE、cUE的变换边。

③由变换边定义[25]可知:节点m为负节点,假设m为某HN串t#中的结点,串t#∈Serv[UE,SN,HN,SUCI,hpUE#,cUE#,T1,hpHN,cHN,w,RANDSN,SNN,RAND,KSEAF,SUPI,AUTN,HXRES*,RES*,Result],故m=〈t#,1〉,term〈t#,1〉=[hpUE,cUE]

④通过比较〈t#,1〉和HN串中分量可得:hpUE#=hpUE,cUE#=cUE。

同理可证:hpHN#=hpHN,cHN#=cHN,因此,由参数hpUE,cUE,hpHN,cHN生成的协商会话密钥SK具有新鲜性和安全性。

接着证明定理1:由上述证明可知:SK具有安全性,且SK∉KP,由于RAND唯一产生于空间Σ,因此,MAC⊂AUTN⊂term〈s,2〉产生于唯一的服务串t,且KSEAF是经由pkSN加密之后传输的,因此KSEAF∉KP。由于MACSN⊂term〈s,2〉产生于唯一的响应串r,同时,{hpHN,cHN,w,KSEAF,SUPI′,RANDSN′,RAND,AUTN,H2′}pkSN=term〈r,3〉唯一产生于某个服务器串t′,RAND唯一产生空间Σ且t′=t,则RANDSN′=RANDSN,H2′=HXRES*。

同理可证:{SUCI,UE,hpUE,cUE,T1,RANDSN,SNN}pkHN=term〈t,1〉产生于某个响应串r′,RANDSN唯一产生于空间Σ且r′=r,则:SUCI′=SUCI,其中,term〈t,1〉为串t上第1个节点的项。

综上,UE完成了对SN与HN的身份认证。

4)HN对SN和UE的身份认证,其具体形式化过程如下:

定理2①假设C为一个簇,簇C中包含HN的串:t∈Serv[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,SNN,RAND,KSEAF,SUPI,AUTN,HXRES*,RES*,Result]。

②其中pkSN∉KP,pkHN∉KP,pkSEAF∉KP。

③hpUE,cUE,hpHN,cHN,RAND、RANDSN唯一产生于空间Σ。

④簇C还包含UE的串和SN的串。

对定理2的证明过程如下:

由于SK←Rec(tk′,w,params),SK∉KP,故CK∉KP、IK∉KP,CK‖IK∉KP,所以RES*⊂term〈t,3〉产生于唯一的起始串s∈Init[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,RAND′,AUTN′,RES*],且SQN′⊂AUTN′。同理,MAC′⊂AUTN′⊂term〈s,2〉产生于某个服务串t′,RAND唯一产生于空间Σ且t′=t,则SQN′=SQN、AUTN′=AUTN。

因为pkSN加密传输服务串t、KSEAF,且KSEAF∉KP,又因为MACUE=term〈r,5〉产生于某起始串s′,hpUE,cUE,hpHN,cHN,RAND、RANDSN唯一产生空间Σ且s′=s,比较串中分量可得:RANDSN′=RANDSN,hpUE′=hpUE,cUE′=cUE,hpHN′=hpHN,cHN′=cHN。

综上所述,HN完成了对UE与SN的身份认证,且HN与UE协商了会话密钥SK。

5)SN对HN和UE的身份认证,其具体形式化过程如下:

定理3①假设C为一个簇,簇C中包含SN的串:r∈Resp[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,SNN,RAND,KSEAF,SUPI,H1,H2,H3,Result]。

②其中pkSN∉KP,pkHN∉KP,pkSEAF∉KP。

③hpUE,cUE,hpHN,cHN,RAND、RANDSN唯一产生于空间Σ。

④簇C还包含UE的串和HN的串。

对定理3的证明过程如下:

因为pkSN∉KP,所以:{hpHN,cHN,w,KSEAF,SUPI,RANDSN,RAND,AUTN,HXRES*}pkSN=term〈r,3〉产生于唯一的某个服务串t′∈Serv[UE,SN,HN,SUCI′,hpUE′,cUE′,T1,hpHN′,cHN′,w′,RANDSN,SNN,RAND,KSEAF,SUPI,AUTN′,(HXRES*)′,(RES*)′,Result],其中SUPI′⊂SUCI′,(hpUE′,cUE′,hpHN′,cHN′,w′)⊂AUTN′,(hpUE′,cUE′,hpHN′,cHN′,w′)⊂(HXRES*)′,(hpUE′,cUE′,hpHN′,cHN′,w′)⊂(RES*)′,且KSEAF由SK派生而来,hpHN,cHN,RAND唯一产生于空间Σ且t′=t,则:hpUE′=hpUE,cUE′=cUE,w′=w,hpHN′=hpHN,cHN′=cHN。同理,{GUTI,UE,hpUE,cUE,T1}pkHN=term〈t,1〉产生于某个响应串r′,RANDSN唯一产生于空间Σ且r′=r,故SUCI′=SUCI。因此,AUTN′=AUTN,(HXRES*)′=HXRES*,(RES*)′=RES*。因为SK∉KP,故CK∉KP、IK∉KP,CK‖IK∉KP,所以RES*⊂term〈t,3〉产生于某个起始串s′∈Init[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN′,RAND,AUTN′,RES*],且SQN′⊂AUTN′。同理,MAC′⊂AUTN′⊂term〈s,2〉产生于某个服务串t′,RAND唯一产生于空间Σ且t′=t,则SQN′=SQN,AUTN′=AUTN。

因为KSEAF∉KP,且MACUE=term〈r,5〉产生于某个起始串s′,hpUE,cUE,hpHN,cHN,RAND、RANDSN唯一产生于空间Σ且s′=s,则:RANDSN′=RANDSN。

综上证明,SN完成了对UE与HN的身份认证。

5 性能分析

最后将所提方法与文献[7,11,16]方法从安全性能、计算和通信开销等方面进行定量比较分析。

首先进行安全性对比,如表2和表3所示。其中,表2中进行传统安全性能方面的比较,包括前/后向安全性、抗中间人攻击、抗重放攻击。表3中列出对5G-AKA协议中SUCI保护、通信三方的相互认证、抗伪装SN攻击、根密钥更新以及抗量子攻击比较。

表2 传统安全性能对比

表3 改进安全性能对比

从表2可以看出,原始5G-AKA协议在五种方法中,安全性最低,难以抵抗DoS、中间人、重放攻击等。文献[7]方案中,通过公钥基础设施机制生成公私钥,但该方法容易使攻击者发起针对SN和HN的DoS攻击。此外,该方案无法抵抗重放攻击等攻击,这将导致通信方之间通信信息无法进行完整安全传输。文献[11]方案中设备与UE通信期间实现了密钥协商,完成了前向安全性并可以抵抗中间人攻击,但在UE与SN和HN通信期间,根密钥K并未实现动态更新,而其认证响应消息是基于该共享根密钥K计算得到,一旦攻击者获取该密钥之后,将会对UE与SN和HN之间的通信信息进行窃取或监听,故该方案不满足密钥前向安全性,也易遭受中间人攻击。文献[16]方案基于椭圆曲线实现会话通信密钥的动态更新,实现了会话密钥的前/后向安全性,一般情况下该方案可以抵抗DoS攻击,但当攻击者为不同的恶意UE时,恶意UE向SEAF发送大量认证请求消息,之后SEAF、AUSF、ARPF未对认证请求消息进行认证检验而响应,则恶意UE丢弃返回的认证响应消息,继续发送认证请求,从而导致SN和HN会受到恶意UE发起的DoS攻击,且SN和HN的资源被消耗,故该方案中依然无法抵抗DoS攻击。相较以上方案,本文方案不仅实现了UE与HN之间的密钥协商,具有密钥前后向安全性,而且加入了时间戳能够抵抗重放攻击等。

从表3进一步可以看出,原始5G-AKA协议存在较大安全隐患,无法有效确保5G-R下车地认证安全。文献[7]方案和文献[11]方案根密钥未实现动态更新,车地通信信息易被截获。文献[16]方法较其他对比文献方法改进了根密钥更新及三方认证,安全性较高,但无法抵抗量子攻击。本文方法基于格上LWE困难问题,其可抵抗量子攻击[22]。综上安全性能比较,可以看出本文所提方案具有更高的安全性能。

为了进一步对安全性定量分析,采用Bellare量化安全模型[26]对不同方法安全性能进行量化分析。分析时,一般采用优势函数Adv(t)的伪随机性来量化安全性。设密钥长度k=128,则各比较方法加密机制的优势函数分别为

AdvG-5G-AKA(n)≈(5n2+n)/2128

AdvG-[7](n)≈(5n2+5n)/2128

AdvG-[11](n)≈(5n2+n)/2128

AdvG-[16](n)≈(5n2+2n)/2128

AdvG-[本文](n)≈5n2/2128

从上述优势函数可知,在密钥长度相同的情况下,本文方法的优势函数最小,其被攻击成功的概率最低,仅为O(n2)×2-128,其中O()为时间复杂度函数,n为问题规模。因而本文方法较其他比较方法安全性更高。

在完成安全性分析后,进行计算开销和通信开销对比,结果如表4所示。

表4 计算开销和通信开销对比

表4中,各类运算的大小关系如下:Tped>Tecies>Tecm>Ted>Tf>Tcon>Trec[27-29]。在计算开销方面,原始5G-AKA协议计算开销最小,这是因为5G-AKA协议使用哈希函数和对称运算实现协议安全性,其计算开销最少,但其安全性最低。文献[16]使用了对称运算和椭圆曲线点乘运算,相较于非对称运算所需计算开销少,故其计算开销也较少。文献[11]则使用了少量的非对称运算、椭圆曲线集成加密等运算,故其所需计算开销较大于文献[16],但均无法抵抗DoS攻击。文献[7]通过大量非对称运算保证认证密钥协商协议中通信信息在公共信道中的安全性,而非对称运算较对称运算所需计算开销增大,故文献[7]所需计算开销在五种方法中最大。本文方案通过使用适量的非对称运算和MAC函数运算,实现了信息安全传输和通信三方的相互认证,计算开销低于文献[7],并且安全性最高。

在通信开销方面,5G-AKA协议作所需通信开销较少,但其安全性也最低。文献[7]和文献[11]通信开销小于文献[16]和本文方法,但从表2表3可以看出上述方法根密钥均不能动态更新,不能抵抗DoS攻击和量子攻击。文献[16]需要传输较多的认证信息,故其通信开销最高。本文方案的通信开销低于文献[16],原因为本文采用基于格上的公钥加密机制和平滑投射散列函数降低了通信开销,但本文方案为了抵抗伪装SN攻击和加强通信三方的相互认证,在传输信息中加入了随机质询和消息认证码,故通信开销略高于其他方法。综合表2表3可知,本文方案安全性最高且认证时间开销较低。最后,进行不同UE数量对车地认证计算开销和通信开销的影响分析。采用单次运算所需的时间作为参考值,其中密钥/密钥导出函数/MAC函数/哈希函数等运算为0.067 ms、椭圆曲线集成加密为2.580 ms、椭圆曲线点乘为1.038 ms、对称运算为0.071 ms、非对称运算为2.977 ms、密钥共识加密为0.001 3 ms、密钥共识解密为0.000 6 ms。将上述数值分别代入表4所得的计算开销中,首先得到UE数量变化的计算开销对比结果,见图2。

图2 计算开销对比

从图2可以看出,在5G-R车地认证过程中,随着UE数量的增加认证所需的计算开销也随之增大。其中,5G-AKA协议在所有比较文献中所需计算开销最少,但5G-AKA协议安全性能也最低。文献[11]和文献[16]所需的计算开销次之,但这两个方案不能够抵抗DoS攻击和量子攻击,安全性较差。文献[7]采用的非对称运算使得认证密钥协商过程中的计算开销增大。本文方案通过使用格上的公钥密码体制并运用了适量非对称运算,实现通信三方之间通信信令安全、完整的传输,还能抵抗伪装SN攻击、量子攻击,具有高安全性。

最后,得到通信开销方面的影响对比结果,见图3。

图3 通信开销对比

由图3可以看出,随着UE数量的增加,认证过程中的传输信息量增加,通信开销也随之增加。此外,5G-AKA协议的通信开销最少,但是其安全性能最差。文献[7]和文献[11]的通信开销也较少,但文献[7]方案并未实现密钥的动态更新,不满足密钥前/后向安全性,安全性能较差。文献[11]也是在牺牲了安全性能的情况下传输较少的通信信息。文献[16]的通信开销最高,这是由于该方案为了实现相互认证和密钥协商,需要相关的认证信息,故其通信开销最高。本文方案的通信开销低于文献[16],这是因为本文方案使用格上的公钥加密机制、平滑投射散列函数和密钥共识算法实现车地之间会话密钥的动态更新,需要传输一定的通信信息,此外,为了实现通信三方的相互认证、抵抗伪装SN攻击和重放攻击等安全性能,本文方案还需传输随机质询消息和消息认证码等额外信息。

综上分析,本方案不仅在安全方面有较强的优势,而且在通信和计算开销也有一定的优势,从而验证了所提方案能够满足5G-R车地认证安全性的需求。

6 结论

5G-R作为我国未来的高速铁路无线通信系统,其安全性对于我国高速铁路有着至关重要的作用。针对5G-R中存在一系列安全和效率问题,提出一种基于格密码的5G-R车地认证密钥协商方案。结果表明:

1)采用临时身份GUTI代替SUCI明文传输,避免了5G-AKA协议中SUCI明文传输问题,实现了对SUCI的机密性保护。

2)设计了基于格密码的根密钥更新策略,使用格上的公钥加密机制、近似平滑投射散列函数和密钥共识算法,实现了UE与HN之间协商会话密钥的动态更新和前/后向安全性,并使用公钥加密传输消息,确保了认证信息的安全性。

3)加入消息认证码以及质询响应消息,实现了5G-R下通信三方互认证,能够抵抗DoS等多种恶意攻击。

4)本文所提方案基于格上困难问题构造的,改善了协议的计算效率,能够抵抗量子攻击、伪装SN攻击等攻击,具有较高的安全性。研究结果对于5G-R车地之间的安全认证提供了一定的理论依据。

虽然本文所提方案在安全性方面优于对比方法,但采用基于格上公钥密码体制及密钥共识算法设计的认证协商协议仍存在计算复杂等问题。后续研究中将进一步对近似平滑投射散列函数进行优化,以及设计基于环上LWE的密钥协商协议,来降低计算复杂度,减少通信信令传输,以提高协议的性能。

猜你喜欢
公钥攻击者抵抗
基于微分博弈的追逃问题最优策略设计
锻炼肌肉或有助于抵抗慢性炎症
做好防护 抵抗新冠病毒
iNOS调节Rab8参与肥胖诱导的胰岛素抵抗
一种基于混沌的公钥加密方案
正面迎接批判
HES:一种更小公钥的同态加密算法
SM2椭圆曲线公钥密码算法综述
有限次重复博弈下的网络攻击行为研究