张帅领,陈李兰,曹 进,马如慧,胡华鹏
(1.中国电子科技集团公司第三十研究所,四川 成都 610041;2.西安电子科技大学,陕西 西安 710126)
国际电信联盟ITU 于2015 年正式确定第5 代通信系统(5th Generation Mobile Networks,5G)的3 大典型应用场景,分别是增强型移动宽带、海量机器通信和超高可靠低时延通信。第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)于2016 年启动了5G 标准化研究,并于2020 年7 月完成了5G 的第一个演进版本标准完成,标志着5G三大应用场景核心支持标准已准备就绪。已完成的第一个5G 演进版本标准基本涵盖用户面向陆地网络的通信需求,但面对海空天区域的融入5G 网络仍在探索阶段[1]。3GPP 于2019 年启动了5G 第二个演进版本标准的研究计划,以实现5G 网络的全方位、立体化多域覆盖能力。近地型小型卫星(Low Earth Orbit,LEO)相比传统卫星,制造成本更低,且传输时延更低,可以满足5G 网络立体化多域覆盖的通信需求,近年来已经引起了广泛关注。3GPP在标准TS 22.261[2]中已经将卫星接入技术纳入5G网络的基本接入技术之一。中国在低轨卫星通信方面,有中国正在规划的2030 年国家科技创新重大专项“天地综合信息网的低地轨道接入网”、航空航天科技集团策划的“红岩计划”等[3]。
卫星网络已经成为5G网络不可缺少的一部分,在为用户提供无处不在的接入功能的同时,给系统带来了安全和性能方面的挑战。
首先,由于卫星网络节点暴露,无线通信信道开放等特点使得用户数据变得不安全,易受到监听、篡改、假冒等攻击[4]。因此,终端接入5G 卫星网络需实现终端与5G 卫星网络间的相互认证与密钥协商。其次,卫星与地面之间的高延迟以及卫星较弱的处理能力,则使得认证方案不能过于复杂。然后,卫星相对于地面间的高速运动,导致用户面临着通信连续的困难,需要设计安全高效无缝的切换认证机制,才能保证用户在复杂多变的网络拓扑结构中保障通信的安全稳定性。此外,5G 网络可以支持海量终端[4],但是目前3GPP 针对海量终端并发通过卫星网络接入地面网络并未设计相应的并发接入和切换认证方案,而海量终端并发连入网络采用单个终端接入或切换认证协议会瞬时产生大量的通信开销、信令开销,进而可能导致信令冲突、关键节点拥塞等问题。因此,需要设计适用于5G 卫星网络海量终端的并发接入和切换认证方案。
从20 世纪末,人们就开始研究卫星网络接入认证方案。传统的卫星网络模型由单一用户、单一卫星和地面管理中心(Network Control Center,NCC)3 部分组成。Cruickshank[5]最早将公钥密码学知识应用到GSM 卫星认证场景中。文献[6-8]着重于如何使用更高效的密码技术来实现认证。文献[6]用对称密码算法代替公钥密码算法,但方案存在会话密钥泄露风险。文献[7]在文献[6]的基础上进行改进,引进哈希和异或等操作来弥补会话密钥协商过程中的安全缺陷,但是并不能为用户提供隐私保护,且不能抵御假冒攻击。文献[8]试图改进公钥密码系统PKC 和私钥密码系统SKC 给卫星通信过程中带来的高计算开销和密钥管理繁琐等缺陷,提出了一种自验证认证方法,减少了地面基础设施的部署,但由于模幂运算较多,认证中心的计算负担仍然较大。受文献[8]思路的启发,文献[9-10]等方案被提出,旨在使用更安全高效的哈希函数来减轻计算负担,改进密钥管理方法,但是还是存在不能抗重放攻击、泄露认证信息等缺点。文献[11]在文献[10]的基础上加强了部分安全性,可抵抗DoS 攻击、重放攻击等,但仍未改善认证信息泄露等问题,且增大了系统计算负担。文献[12]在文献[10]的基础上提出了一种不需要链表的方案,但是其智能卡丢失将无法保障安全。文献[13]指出文献[11]依旧存在重放攻击、注入攻击等缺陷,并提出了改进方案。最近,ECC 被广泛使用,文献[14-16]均应用了椭圆密码曲线相关知识。其中,文献[15-16]指出文献[14]方案无法提供完美前向保密和无法防护智能卡丢失等缺陷,提出了改进方案。但是,文献[17]指出文献[14-16]等方案存在3 个弱点,即无法抵抗离线密码猜测攻击、重放攻击以及无法提供用户的不可追溯性,提出了基于鲁棒三因素的认证协议。随着卫星的不断发展,卫星本身的计算能力得到提升,海量终端的接入认证也在被挖掘思考。文献[18]使用代理签名方案,将NCC 验证的部分转移到卫星上,减少了认证时间。文献[19]则提出使用组签名来实现用户匿名性,NCC 暂时充当群管理员,同样将验证工作转移至卫星上,但是需要额外的可信第三方发放和管理密钥对。此外,上述并没有专门针对大量设备接入卫星网络设计认证机制。当大量用户接入网络时会产生堵塞情况。因此,文献[20]提出一种支持单用户和多用户接入卫星网络的方案,使用基于格的困难问题,实现终端与卫星网络的相互认证等各种安全特性。但是,该方案由于采用格理论密码学耗费了大量通信开销等,并不适用于当前的5G 卫星网络。
此外,由于卫星网络的持续运转特性以及终端的移动特性,终端需频繁切换卫星网络。但是,卫星网络切换机制与地面网络不同,目前关注较多的是在通信层面研究卫星网络的切换机制,但是在安全层面卫星网络切换认证方案的研究还较少。文献[21]提出一种基于预认证的切换算法来实现LEO网络下的安全切换,指出卫星网络切换不仅仅需要多种切换策略和算法来降低切换过程中的计算开销和信令开销,也要利用接入认证机制来保护切换过程中的安全性。文献[22]则提出空间信息网络中高速移动的群组的安全高效接入和切换认证需求,并基于密钥分层、对称密码的思想提出了一种群组多用户快速认证协议。但是,因为是最先收到消息的用户向组内用户传播信息,所以组内开销过大,不能支持群组内成员变动。文献[23]则提出一种基于椭圆曲线的接入认证机制,然后讨论同一批次用户在低速移动和高速移动两种状况下的切换方案,旨在进行批验证从而提高切换效率。但是,因为其将认证大部分过程转移到卫星上,并没有减少通信过程中的计算开销和信令开销。
综上所述,目前国内外所提出的接入认证和切换认证方案大多都是针对单个终端接入或切换,且已有的方案存在各种安全和性能缺陷,无法满足海量终端并发接入或切换的安全和性能需求。因此,研究适用于5G 卫星网络海量终端的安全、高效的并发接入和切换认证方案十分迫切。
另外,考虑到虽然3GPP 现阶段5G 研发的目的之一在于实现所有设备终端不仅可以通过地面基站接入5G 核心网,而且可以通过卫星接入地面5G核心网,以实现全球随时随地的立体多域全覆盖。但是,当前卫星网络相较于地面网络的发展还稍有不足,且由于用户终端电池能耗等方面受限,当前大部分用户终端仅支持通过基站方式接入5G 核心网络或者仅支持通过卫星方式接入地面5G核心网。将当前的所有移动终端迁移至既可支持地面基站又可支持卫星等接入方式的多接入终端,需要一个漫长的过程。为此,3GPP 提出了卫星网络中继节点的概念[24]。中继节点具有卫星接入能力,且可作为普通接入点(例如基站)辅助无卫星接入能力的终端在无基站覆盖的区域通过卫星接入至地面网络。中继节点的出现,使得当前无卫星接入能力的终端随时随地接入5G 网络成为可能。
因此,本文借助于3GPP 卫星网络场景中的中继节点提出了一种适用于普通用户终端的5G 卫星网络匿名群组认证方案,特点如下。
(1)支持船舶大规模不具备卫星接入能力的终端借助中继节点通过卫星网络接入地面5G 核心网,确保不具备卫星接入能力的终端在无基站覆盖区域的通信可能性。
(2)通过卫星位置可预测机制,支持船舶大规模设备安全无缝切换至目标卫星,保障网络服务的连续可靠性。
(3)支持通信过程中群组内成员快速加入和退出,提高群组管理的灵活性。
(4)采用安全分析和性能分析,充分评估提出方案的安全性。在安全分析方面,采用BAN 逻辑和非形式化安全分析方法,充分证明了提出方案的安全性。在性能分析方面,从信令开销、传输开销以及计算开销方面,通过与其他相关方案对比,评估了协议的性能。
如图1 所示,远洋轮船上没有卫星接入能力的用户终端,可以通过具有卫星接入能力的船载中继节点RN 接入卫星网络,进而连接至地面5G 核心网络。
5G 卫星网络架构[24]主要包括以下几个部分。
(1)用户终端。已注册至5G 核心网实体身份管理系统中的普通用户终端,可以通过地面基站接入5G 核心网络。但是,由于它不具备卫星接入能力,无法直接通过卫星网络接入5G 核心网络。
(2)中继节点。3GPP TR22.822 中,卫星连接场景提出了中继节点的概念[24]。固定安装在轮船上的中继节点先作为具有卫星接入能力的卫星终端接入卫星网络,进而作为接入点(基站)辅助轮船上的普通用户终端接入卫星网络。中继节点可转发卫星网络与终端之间的消息。
(3)5G 卫星接入网络。卫星作为5G 网络的接入方式之一,具有一定的计算和存储能力,且能够转发中继节点与关口站之间的消息。关口站是连接卫星网络与地面5G 核心网络的关键网关。
(4)地面5G 核心网络。5G 核心网络主要包括拜访域和归属域。归属域的认证鉴权系统AUSF和实体身份管理系统UDM 处于同一个服务器,负责用户注册管理和后续的接入鉴权。处于拜访域的移动切换安全服务系统AMF 则负责用户与卫星间的安全切换过程的管理。移动切换安全服务系统、认证鉴权系统、实体身份管理系统以及关口站之间,都通过已经提前建立好的安全信道传输数据。
图1 5G 卫星网络架构
卫星通信基于无线通信技术。针对无线通信,有两种被人所熟知的威胁模型——Dolev-Yao(DY)模型和Canetti-Krawczyk(CK)模型。在DY 模型[25]中,信道会被监听,消息会被攻击者更改、重放或拦截。CK 模型[26]中则会出现长期密钥泄露或者临时会话密钥泄露的情况。因此,根据提出的系统模型,分析得到系统的安全需求如下。
(1)相互认证。5G 网络以及卫星网络能够认证用户的身份合法性,阻止非法用户接入,同时用户也能认证5G 网络的合法性,防止假冒攻击和中间人攻击。
(2)数据机密性。用户与5G 网络在建立会话的过程中要协商出会话密钥,以保证后续通信数据的安全性,同时为用户与卫星网络之间提供会话密钥。
(3)匿名性。除了核心网服务器能够知道用户的真实身份标识外,其余通信过程中涉及到的实体均不能知道用户真实身份标识。
(4)前后密钥分离。为了保护用户接入网络后的通信安全和切换认证,实现前后密钥分离,确保获得已知会话密钥不能帮助敌手获得之前或之后的基础密钥,从而无法获取之前或者之后的通信数据内容。
针对5G 卫星网络场景需求,本文改进了现有的5G 接入认证协议,提出了一种适用于5G 卫星网络的群组认证方案。此方案包括系统初始化阶段、群组接入认证阶段、群组切换认证阶段、群成员加入和退出阶段4 个阶段。具体地,轮船上所有的用户终端可以构成一个固定群组,其中中继节点作为群主。首先,当首次接入卫星网络时,群主联合群组成员执行群组接入认证过程。其次,由于卫星和轮船的移动性,为保证用户享受高质量的网络服务,需执行群组切换认证过程,以从源卫星切换至目标卫星。最后,为满足群组动态变化的需求,当群组成员动态加入和退出时,执行群成员的加入与退出过程。表1 列举了方案中使用到的符号及含义。
系统初始化阶段,所有需要接入网络的用户终端需在地面实体身份管理系统中离线注册成为合法用户,步骤如下。
实体身份管理系统选择一个随机数sk∈Zq作为系统私钥,并计算pk=sk*P作为系统公钥,其中P为椭圆曲线上的一个生成元,q为一个大素数。终端通过离线注册获得永久身份标识ID、预置主密钥K以及系统公钥pk。
表1 方案中使用的符号及其含义
当首次接入卫星网络时,轮船上的海量用户终端构成一个固定群组。中继节点汇聚所有群成员的接入认证请求消息并转发至卫星,进而传输至地面5G核心网络。地面5G 核心网络节点与固定群组成员基于预共享密钥K完成认证。协议流程如图2 所示。
不失一般性,假设群成员的个数为n。具体过程如下。
步骤1:当中继节点监测到需要接入卫星网络时,启动定时器,设置定时器触发值,并向周围广播群组接入认证通知消息,其中消息内容包括新生成的群组身份标识GID。
步骤2:群成员收到通知后,需要接入网络的终端首先生成一个素数zi和一个随机数xi,并计算Xi=xi*P以及对称密钥SKi=h(xi*pk),然后使用对称加密算法得到密文,随后每个群成员向中继节点发送{Ci,Xi}。
图2 群组接入认证过程
步骤3:中继节点在定时器时间到达后,将收到的n个群组成员的认证请求消息打包为{(C1,X1,C2,X2,…,Cn,Xn),GID}发送给卫星。
步骤4:卫星接收并转发消息给地面关口站,关口站进而转发消息给移动切换安全服务系统。
步骤5:移动切换安全服务系统收到消息后,将消息附上其拜访域身份标识SNID后发送给接入鉴权系统和实体身份管理系统所在的服务器。
步骤6:收到消息后,服务器里的实体身份管理系统先采用其私钥sk计算每个对称密钥SKi=h(Xi*sk),从而解密获得IDi和zi,随后实体身份管理系统验证所有IDi的有效性。如果验证成功,则根据GID生成一个群共享密钥GK。实体身份管理系统选取一个随机数R2,通过ID找到每个群成员的长期共享密钥K。利用中国剩余定理计算消息验证码XMAC,具体如下:
实体身份管理系统利用密钥导出函数KDF计算群组临时共享密钥TGK=KDF(GK,R2)、所有成员的确认消息XRESi=h(Ki,R2)以及对应的AMF密钥。此外,为将群共享密钥GK安全地分发给每个群成员,实体身份管理系统计算UKi=KDF(Ki,R2,zi),且采用UKi加密GK。每个终端的认证向量构成为。然后,实体身份管理系统将R2、GID、TGK、XMAC和认证向量组发送给接入鉴权系统。接入鉴权系统计算出群组认证确认值XRESG=XRES1⊕…⊕XRESn,并对其进行哈希运算得出HXRESG=h(R2,XRESG)。随后,接入鉴权系统将认证响应消息传输给移动切换安全服务系统,消息为(R2,GID,。
步骤8:卫星收到消息后,提取并保存HXRESG、TIDi、KSat-i等相关信息,然后计算HXRESG=h(HXRESG),随后将,HHXRESG}发送给中继节点。
步骤9:中继节点直接广播消息给所有群成员。群成员收到后,验证XMAC=h(SNID,Ki,zi)modzi。若通过,则计算RESi=h(Ki,R2)和UKi=KDF(Ki,R2,zi),进而解密获得群共享密钥GK,计算出临时群共享密钥TGK=KDF(GK,R2)。最后,群成员向中继节点发送RESi。
步骤10:中继节点计算RESG=RES1⊕…⊕RESn和HHRESG=h[h(R2,RESG)],并验证HHRESG是否等于卫星发送的HHXRESG。如果相等,则表示卫星网络将成功认证群组。因此,中继节点将RESG发送给卫星,同时给群组成员发送成功认证通知消息。随后,终端计算、终端临时身份标识以及与卫星的基础密钥。至此,终端和卫星共同拥有共享密钥KSat-i。
步骤11:卫星计算得到HRESG=h(R2,RESG),将HRESG与HXRESG进行比较,若相等,则将RESG转发给移动切换安全服务系统。此时,完成卫星对群组的认证。
步骤12:移动切换安全服务系统收到消息后,转发给地面5G 核心网络服务器。服务器验证RESG和XRESG是否相等,如果相等,则群组成员成功入网。
完成群组接入认证后,卫星与每个群组成员将KSat-i作为基础密钥,将TIDi作为群成员的临时标识。
当源卫星信号变弱即将无法为群组成员提供平滑的网络通信时,轮船上的海量用户终端执行群组切换认证方案。在本方案中,当中继节点监测到源卫星信号即将无法提供平滑通信时,启动预切换过程,发送预切换请求给拜访域的移动切换安全服务系统。移动切换安全服务系统利用卫星节点轨迹可预测的特点,结合群组当前的位置信息,决策出群组需要接入的下一个目标卫星,并提前向目标卫星发送认证向量。当终端进入目标卫星范围后,可直接与卫星进行快速认证,降低切换时延。具体包括以下预切换过程和切换过程2 个步骤。
步骤1:预切换过程,即安全切换前的准备工作,具体过程如图3 所示。
步骤1-1:中继节点广播预切换通知消息给所有群成员,群成员将其临时身份标识TIDi发送给中继节点,中继节点生成随机数R3,并将所有TIDi、R3、GID以及当前轮船位置信息一并发给当前卫星SA1。
图3 预切换过程
步骤1-2:当前卫星SA1将消息转发给拜访域中的移动切换安全服务系统。
步骤1-3:移动切换安全服务系统收到消息后,结合群组位置信息、卫星轨迹信息等有效信息,预测出该群组即将接入的下一个卫星SA2。随后,移动安全切换服务系统选择一个随机数R4,根据每个群成员的TIDi找到对应的共享密钥,计算所有的消息认证码,计 算XMAC=XMAC1⊕…⊕XMACn。移动切 换安全服务系统更新每个群成员的基础密钥和群成员临时标识。最后,移动安全切换服务系统将、GID、XMAC和R4通过组网建立好的安全信道提前发送给目标卫星SA2。
步骤2:当群成员进入目标卫星的覆盖范围后,直接执行正式切换过程,如图4 所示。
图4 切换执行过程
具体步骤如下。
步骤2-1:中继节点发送群组身份标识GID给目标卫星SA2。
步骤2-2:目标卫星SA2收到消息后,根据每个IDi的以 及R4计 算,然后计算新的群组认证向量值XRES0=XRESi⊕…⊕XRESn和HXRES=h(XRES0)。随后,目标卫星给中继节点发送XMAC、R4以及HXRES。
步骤2-3:中继节点收到消息后,将R3和R4转发给给群成员,随后群成员由R3、R4更新计算得到新的基础密钥、临时身份标识以及消息认证码和认证向量值R4),最后群成员将MACi以及RESi发送给中继节点。
步骤2-4:中继节点收到MACi和RESi后,计算群组消息认证码MAC=MAC1⊕…⊕MACn,并验证MAC=XMAC。若验证通过,则计算RES0=RESi⊕…⊕RESn和验证HXRES=h(RES0)。若此验证也通过,则表明目标卫星可成功认证群组成员。随后,中继节点将RES0给目标卫星SA2,同时通知群成员切换成功。
步骤2-5:卫星SA2将收到的RES0与本地存储的XRES0进行比对,若一致,则认证通过。
需要注意,群切换认证阶段更新了卫星与每个群组成员的基础密钥和群成员的临时标识TIDi*。
为了使方案富有弹性和灵活性,满足群组成员的更替情况,还设计了群成员的加入和退出过程,在尽可能减小开销的情况下满足场景需求。
2.4.1 群成员加入阶段
当合法的新成员k请求加入群组时,如图5 所示。成员k安全的发送身份标识给实体身份管理系统,实体身份管理系统验证其身份标识的有效性,然后生成新的群共享密钥GK发送给所有的现有群成员。
图5 群成员加入过程
具体过程如下。
步骤1:新成员k生成随机数xk,并计算Xk=xk*P和SKk=h(xk*pk),随后计 算出密文,并将GID,Ck,Xk发送给中继节点。
步骤2:中继节点收到消息后,首先选取随机数R5,然后计算消息认证码s=h(GK,GID,Ck,R5,1)随后将s、GID、Ck、Xk、R5发送给实体身份管理系统。
步骤3:实体身份管理系统由GID搜索到群组密钥GK,然后验证s的合法性。若验证通过,则实体身份管理系统选择一个随机数R6,计算出对称密钥SKk=h(Xk*sk),使用SKk解密Ck得到成员k的身份标识IDk,并搜索得到其对应的长期共享密钥Kk,然后计算消息认证码XMACk=h(SNID,Kk,R5)、认证向量值XRESk=h(Kk,R6)以及密钥,随后实体身份管理系统将MACk和R6发送给中继节点。中继节点将MACk、R6以及R5转发给新成员k。
步骤4:新成员k收到消息后,先验证MACk。如果验证成功,则计算认证响应值RESk=h(Kk,R6)并将RESk发送给中继节点,再由中继节点转发给实体身份管理系统。
步骤5:实体身份管理系统收到后,首先验证RESk=XRESk。若验证成功,实体身份管理系统计算新的群组密钥GK*=KDF(GK,R6,R5)、加密密钥UKj=KDF(Kj,R6,R5)以及新的群组临时密钥TGK*=KDF(GK*,R6),其中j=1,…,n或j=k。然后,实体身份管理系统向移动切换安全服务系统发送。
步骤6:移动切换安全服务系统接收到后,为新加入的IDk计算相应的临时标识TIDk且将所有IDj替换为相应的TIDj。移动切换安全服务系统转发消息给中继节点。
步骤7:中继节点将收到消息以及R5和R6一起发送给群组成员,群成员更新群组密钥为GK*。
2.4.2 群成员退出阶段
当群组内有群成员i想要退出群组时,如图6所示,成员k直接将其临时标识发送给核心网节点,核心网节点验证标识有效后生成新的群共享密钥GK,并且发送给所有现有群成员。
图6 群成员退出过程
具体过程如下。
步骤1:群成员i向中继节点发送退出请求消息。包括群组身份标识GID、自己的临时身份标识TIDi、新生成的随机数R7以及消息验证码s=h(GK,GID,IDi,R7,0)。
步骤2:中继节点转发退出请求消息给移动切换安全服务系统。移动切换安全服务系统替换TIDi为IDi,然后转发给实体身份管理系统。
步骤3:实体身份管理系统收到消息后,首先根据GID搜索到相应的GK,然后验证s的合法性。若验证通过,实体身份管理系统选择一个随机数R8和一个新的GK*,计算UKj=KDF(Kj,R8,R7),其中j=1,…,n且j ≠i以及群组临时共享密钥TGK*=KDF(GK*,R8)。随后,实体身份管理系统通过安全信道向移动切换安全服务系统发送消息。
步骤4:移动切换安全服务系统转(GID,TGK*,发给中继节点。中继节点将接收到的消息附着上R7后广播给所有现有群成员。现有群成员更新群组密钥为GK*。
3.1.1 BAN 逻辑规则介绍
本文使用BAN 逻辑对提出的群组接入认证方案进行形式化分析。BAN 逻辑[27]是一种以知识和和信仰为基础的形式化分析工具,具体分析过程如下。首先,将协议里的消息进行理想化;其次,根据协议做出最初的假设,提出方案的最终目标;最后,根据BAN 逻辑规则进行推导,若能推导出最终目标,则证明协议是安全的,否则协议存在漏洞。它的基本表达式说明如表2 所示。
表2 BAN 逻辑表达式说明
BAN 逻辑推理规则如下。
(1)消息含义规则(Message-Meaning Rule):
(2)信念规则(Belief Rules):
(3)接收消息规则(Seeing Rule):
(4)随机数验证消息规则(Nonce-Verification Rule):
(5)消息新鲜性验证规则(Freshness Rule):
(6)管辖规则(Jurisdiction Rule):
3.1.2 方案证明过程
在此对群组接入认证方案进行形式化验证,因为BAN 逻辑不支持证明保密性,因此对方案进行理想化,去掉对推理过程没有帮助的消息。
规定实体描述如下:群组成员Mi,卫星SAT,移动切换安全服务系统SEAF,服务器AAA。
(1)提出的接入认证方案所涉及的消息进行理想化描述如下。
由S7、S12、S14 以 及S18 可 知,达到目 标G1~G4。综上所述,所提方案可以满足群成员与5G核心网之间的双向认证,并且能够协商出会话密钥。
本节采用非形式安全分析方法证明了提出的群组接入认证方案的安全性。
3.2.1 相互认证
在执行群组接入认证的过程中,一方面群组成员可以根据XMAC认证实体身份管理系统的合法性,另一方面网络侧可以通过群组产生的聚合后的RESG认证所有群组成员。
3.2.2 匿名性
在执行群组接入认证的过程中,每个群成员将自己的身份标识ID采用实体身份管理系统的公钥pk加密,只有实体身份管理系统可以解密获得ID。随后,实体身份管理系统将群成员标识通过安全通道发送给接入鉴权系统、移动切换安全服务系统等,因此攻击者无法获得群成员的身份标识信息。
3.2.3 密钥协商
在群组接入认证过程中,由于预置主密钥K只有终端侧和实体身份管理系统侧可以得到,实体身份管理系统根据K导出KAMFi,通过已经提前建立好的安全通道发送给移动切换安全服务系统,而移动切换安全服务系统和终端则根据KAMFi和公开传输的随机数导出基础密钥KSat-i。随后,移动切换安全服务系统将KSat-i通过安全通道发送给卫星。因此,卫星与终端之间可以安全协商出基础密钥。
3.2.4 前、后密钥分离
在每次群组接入认证过程中都会产生新的随机数R2用于计算基础密钥KSat-i,因此密钥彼此独立。即使获取了当前基础密钥,攻击者也不可能获得之前或者之后的基础密钥。因此,本方案可实现前、后密钥分离。
3.2.5 抵挡重放攻击
在群组接入认证过程中,每个群成员通过验证XMAC来判断消息是否重放,其中XMAC是实体身份管理系统根据每个群成员的随机数zi生成的;而实体身份管理系统侧可以通过验证RESG判断消息是否重放,其中RESG是群组根据实体身份管理系统的随机数R2生成的。因此,本方案可以抵达重放攻击。
3.2.6 抵抗假冒攻击
在群组接入认证过程中,由于终端侧与网络侧实现了相互认证,因此攻击者无法假冒其中一方和另一方通信。
在性能分析阶段,从信令开销、通信开销、计算开销3 个方面将本文方案与标准中接入认证方案5G-AKA[28]、5G 标准中N2 切换[29]以及文献[23]的方案进行比较,其中将标准中的基站单独与卫星进行比较。不失一般性,假设群组成员的数量为n。为了公平起见,在相同的AES 128 bits 的安全等级下进行比较[30]。基于ECC 的密钥大小为256 bits,基于有限域加密的参数,公钥大小为3 072 bits,私钥大小为256 bits。此外,密钥生成函数输出长度256 bits,散列函数输出长度为128 bits,随机数大小为128 bits,时间戳大小为32 bits,身份信息为128 bits,SNID为24 bits。
3.3.1 信令开销
在信令开销方面,将本文方案中群组接入认证方案和5G-AKA、文献[23]接入认证方案进行对比,将群组切换认证方案与N2 切换、文献[23]高速移动场景下的切换认证方案进行对比,结果如表3所示。
表3 信令开销
图7 和图8 分别随终端数量增加时,接入认证和切换认证所需要的信令开销。本文方案相比5G-AKA和N2切换是有很大优势的,信令开销较小。和文献[23]的方案相比,群组成员数量越多,本文方案越有优势。因此,提出的方案可以有效避免海量终端并发认证过程中的信令冲突问题。
图7 接入认证信令开销对比
图8 切换认证信令开销对比
3.3.2 通信开销
本节将从接入认证阶段和切换认证阶段分别对比相关方案的通信开销。为了公平起见,标准中5G-AKA 方案将加上基站参与的完整过程,文献[23]的方案取高速切换方案。本文只列举最终系统总的通信开销,计算结果见表4 和表5。
表4 接入认证阶段通信开销(单位:字节)
表5 切换认证阶段通信开销(单位:字节)
图9 和图10 展示了随终端数量的增加方案所需要的通信开销。本方案与对照组方案相比,通信开销是最小的。
图9 接入认证通信开销对比
图10 切换认证通信开销对比
3.3.3 计算开销
在计算开销时,只考虑以下这些计算操作的开销,包括点乘运算TM、哈希运算TH、点加法运算TD、密钥生成函数(HMAC-SHA256)TKDF以及对称加解密运算TS。忽略拼接或异或等的计算时间,通过构建一个仿真环境来测试相关数据。具体来说,选择两台性能不同的计算机一台处理器为Intel(R)Core(TM)m3-6Y30 CPU @0.9 GHz 作为资源受限群组/卫星,另一台处理器为Core(TM) i7-7500U CPU@2.70 GHz 作为认证服务器,随后在这两台电脑上编译并运行openssl-1.0.2e 库[30],最后分别测试这些密码学运算的计算开销。为了提高可靠性,对每一个密码操作做了10 次实验。在每个实验中,要运行1 000 次获取平均运行时间。相关数值如表6所示,接入认证和切换认证计算开销计算结果如表7 和表8 所示。对于终端,比较的是对于每一台终端。随着认证次数的增加,认证计算开销的消耗结果如图11 和图12 所示。而对于卫星(基站)和认证中心则是终端数量的改变,其总的计算开销比较结果如图13~图16 所示。
表6 密码学运算的计算开销
表7 接入认证阶段计算开销
表8 切换认证阶段计算开销
图11 终端接入认证阶段计算开销
图12 终端切换认证阶段计算开销
图13 卫星接入认证阶段计算开销
图14 认证中心接入认证阶段计算开销
图15 卫星切换认证阶段计算开销
图16 切换中心切换认证阶段计算开销
由此可以比较得出,本方案的接入认证方案对终端带来的计算负担比文献[23]的方案要小,略小于5G-AKA 方案,而给卫星和认证中心带来的计算负担远远小于文献[23]的方案。同样的,在切换方案对比中,所提方案更适合海量终端切换的场景。虽然切换中心的计算开销大于N2 切换方案,但是所提方案提供了更好的安全性。综上所述,本方案更切合实际应用,在实际中为卫星提供了安全性的保证和后续的通信安全性。而在切换阶段,本文的计算开销占优势,使用了计算开销小的哈希类运算,更加适合复杂的卫星网络中的安全切换场景。
本文针对5G 卫星网络高速发展带来的海量终端接入认证问题以及由于卫星网络拓扑结构变化频繁引起的终端切换认证问题,提出了一种适用于5G 卫星网络的匿名群组认证方案。所提方案基于3GPP 提出的5G 接入认证协议,满足卫星网络与地面网络融合的前景,通过使用群组鉴权向量一次性完成群组的接入认证,减少了通信过程中的信令开销和计算开销。通过对卫星位置的实时预测,使用预认证的方式来进行切换认证。为了提高认证的高效性,采用哈希函数来减少计算开销。为了实现群组的重构性和抗冗余性,还设计了群成员加入和退出的阶段。通过BAN 逻辑证明和理论分析得出方案能够满足系统间实体的相互认证、匿名性、前后密钥分离、抗重放等安全需求。通过与现有5G 标准的接入认证和切换等方案以及现阶段提出的接入和切换认证方案对比,证明本协议在海量终端接入网络中时有较小的通信开销和计算开销,且大大减少了系统中的信令,适合海量终端接入5G 卫星网络的场景,并实现了安全高效的切换。