2. 中国电子科技集团 通信网信息传输与分发技术重点实验室, 石家庄 050081
2. Science and Technology on Communication Networks Laboratory, China Electronics Technology Group Corporation, Shijiazhuang 050081, China
随着社会经济的发展,传统的地基网络已经无法满足人们在海洋、沙漠和深山等特殊区域的通信需求。低轨(low earth orbit, LEO)卫星网络具有覆盖范围广、通信功耗小、机动性高等优势,不仅能够作为地基网络的补充网络为复杂地形的用户提供网络服务,还降低了卫星通信的使用门槛,因此成为了当下的研究热点,如美国的“铱星”星座[1]和中国正在建设的“鸿雁”星座[2]。
然而,LEO卫星网络具有节点暴露、信道开放、资源受限、网络拓扑结构高动态变化、用户终端海量等特点,导致用户接入LEO卫星网络面临诸多问题:1)安全问题。LEO卫星网络中星地、星间链路使用开放信道通信,容易遭受欺骗、恶意拦截、信息窃取等攻击。2)服务质量(quality of service, QoS)问题。LEO卫星网络中,与关口站(gateway, GW)直接通信的LEO卫星数目有限且动态变化,导致星地链路间歇连通,因此用户需要频繁切换接入的卫星节点。若认证方案时间开销大,用户与原卫星的连接失效后还未与其他卫星建立连接,则可能导致会话中断。3)地面网络控制中心(network control center, NCC)负载问题。LEO卫星网络的海量用户为NCC的鉴权管理和数据存储带来巨大挑战。
现有的3G/4G网络中使用的3GPP协议[3],切换发生得并不频繁,即使切换过程交互次数较多,在地基接入网络中,由于通信延时不长,对用户影响不大。但是,LEO卫星网络使用传统接入方案的切换延时非常长,将大大影响用户的通信质量。因此,亟需一种适用于LEO卫星网络的用户接入认证协议。文[4-6]提出了基于公钥签名的认证方案,实现了用户安全地接入卫星网络,但计算开销过大。Hwang等[7]提出了一种基于对称密钥的认证方案,降低了计算开销,但NCC需要保存海量的用户验证表等信息,且该方案不具有前向安全性。文[8-9]基于Hash和异或运算提出了更高效的认证协议,但该协议不足以抵抗服务器欺骗攻击等安全威胁[10]。Zhang等[11]指出文[10]中的协议容易遭受智能卡丢失攻击、安全和拒绝服务(denial of service, DoS)攻击等威胁。Chen等[12]通过引入密码的方式,避免了因智能卡丢失导致敏感信息被窃取的安全隐患。Tsai等[13]提出了一种无需验证表的认证协议。Lin[14]提出了一种动态的接入认证协议。然而,文[8-14]中的方案在星间切换阶段交互次数过多,通信延时长。针对上述问题,本文提出了一种面向LEO卫星网络的用户随遇接入认证协议,该协议具有以下特点:
1) 安全性高。利用卫星时钟高度同步的特点,采用Hash和消息认证码等进行密钥协商,通过建立攻击者模型、BAN(Burrows, Abadi and Needham)逻辑证明和安全性分析证明协议的安全性。
2) 计算开销小。协议采用异或和Hash运算,并且通过归属域(home subscriber server,HSS)与NCC共享的密钥,为用户生成接入认证的Token,降低了计算开销,实现用户随遇接入LEO卫星网络,避免了NCC储存海量的用户数据和验证表。
3) 延时低。利用卫星运行轨迹的可预测性,将NCC预计算的多组认证向量在星间传递,避免星间切换过程中新卫星从NCC获取认证信息所消耗的通信延时,提高认证效率,保证了QoS。
1 理论模型 1.1 系统模型如图 1所示,LEO卫星系统包括用户、LEO卫星星座、关口站、NCC和HSS[15],其中:
1) 用户是具有卫星通信功能的终端,包括手持、车载、船载和机载终端等。
2) LEO卫星星座由N×M颗沿地球低轨高速运行的LEO卫星构成(N代表经过极地的轨道平面数,M代表每个轨道平面分布的卫星数),具有有限的计算和存储能力,负责接入用户和传输消息。
3) 控制中心包括NCC和关口站。NCC是卫星系统的控制和计算中心,负责计算并保存用户信息、验证用户身份等;关口站是卫星与NCC等地面节点的通信转接站,负责消息转发。
4) HSS是用户注册身份、存储用户信息、管理数据的服务器。
1.2 攻击者模型根据1.1节的系统模型,结合Dolev-Yao攻击者模型[16]中的攻击者行为,LEO卫星网络的用户接入认证主要面临如下安全威胁:
1) 伪装用户攻击。攻击者截获或构造用户的Token,伪装成合法用户向服务器请求认证。
2) 服务器欺骗攻击。攻击者截获或构造服务器的认证响应消息,伪装NCC与用户建立连接。
3) 重放攻击。攻击者截获或窃听用户或NCC发送的消息进行重放。
4) DoS攻击。攻击者通过截获或构造大量用户的认证信息发送至卫星,消耗其大量的计算资源和通信带宽,使卫星系统瘫痪。
2 基于Token的认证协议本节详细介绍所提协议的具体流程,包括注册、初始接入、连接恢复、星间切换这4个阶段。
2.1 注册阶段在本阶段,用户在归属域(HSS)注册为LEO卫星网络的合法用户。本阶段各HSS通过NCC与其共享的密钥K为用户生成Token。步骤如下:
Step1-1 用户向HSS提供自己的身份IDU。
Step1-2 HSS首先生成一个随机数r,然后基于此随机数r、密钥K和用户身份标识IDU为用户生成Token{PID, R}:PID=IDU⊕h(r‖K),R=h(PID‖K)⊕r。其中:PID为伪身份,R是用于NCC接收Token后从中获取r生成秘密值h(r‖K)的认证参数。
Step1-3 用户在终端中保存{PID, R}。
2.2 初始接入用户首次接入LEO卫星网络时执行本阶段协议,流程如图 2所示。本阶段中,NCC对用户的身份验证通过后,预计算多组可用于在连接恢复和星间切换阶段中用户与卫星直接进行认证的向量。步骤如下:
Step2-1 用户首先输入身份IDU得到秘密值H=IDU⊕PID=h(r‖K),然后生成随机数rU,并
将rU和秘密值H异或得到RU=H⊕rU,再计算消息认证码MACU_G=h(IDU‖rU‖TU)。其中TU为用户当前时间戳。随后,用户将消息附上HSS身份IDHSS发给卫星{PID, R, RU, TU, MACU_G, IDHSS}。
Step2-2 卫星收到消息后,将消息附上自己的身份IDLEO发送给关口站。
Step2-3 关口站收到消息后将其转发至NCC。NCC首先验证TG-TU≥ΔT是否成立。其中:TG为关口站收到消息的时间,ΔT为系统收到消息允许的最大时间间隔。若验证失败,结束会话;否则,NCC根据IDHSS找到与HSS共享的密钥K,并基于此密钥解出R中的随机数r′=h(PID‖K)⊕R、秘密值H′=h(r′‖K)、用户身份ID′U=H′⊕PID和消息认证码MACU_G′=h(ID′U‖r′U‖TU)。计算完成后,NCC验证计算的MACU_G′与接收的MACU_G是否相等。若验证失败,结束会话;否则,NCC生成一个随机数rG并用秘密值加密H′:RG=H′⊕rG,然后基于rG和r′U生成新的秘密值HG_U=h(rG‖r′U),并将它用卫星与NCC的共享密钥加密EKLEO_G(HG_U)。
接下来,NCC基于秘密值HG_U计算多组认证向量AV(n),每组AV=RAND‖AUTH包括:NCC生成的随机数rand和序列号SQN、随机数rand异或加密的RAND=HG_U⊕rand、消息认证码MACG_U=h(HG_U‖rand‖SQN)、卫星对用户认证的令牌AUTH=HG_U⊕SQN‖MACG_U。其中,第1组AV(1)中的SQN是随机生成,之后每组AV中的SQN由上一组中的SQN和rand相加得到。计算完成后,NCC通过关口站将RG、AV(n)和EKLEO_G(HG_U)发送给卫星,再计算会话密钥SK=h(r′U‖rG‖H′‖HG_U)。
Step2-4 卫星收到消息后,将RG和第1组AV(1)向量中的RAND和AUTH发送给用户,储存剩余的AV(n),并解密出HG_U=DKLEO_G(EKLEO_G(HG_U))。
Step2-5 用户收到消息后,用秘密值H解出随机数r′G=H⊕RG,然后计算新的秘密值HG_U′=h(rG′‖rU),并用此秘密值解出AV中的随机数rand′=RAND⊕HG_U′,再计算消息验证码MACG_U′=h(HG_U‖rand′‖SQN′)。计算完成后,用户验证计算的MACG_U与接收的MACG_U′是否相等。若验证失败,结束会话;否则,计算会话密钥SK=h(rU‖r′G‖H‖HG_U′)。
2.3 连接恢复用户终端接入后,若通信出现异常,会话连接可能中断。但在一定时间内,卫星缓存了用户的上下文信息。此时,用户若发起连接恢复请求,则执行本阶段,协议流程如图 3所示。由于缓存了在初始接入阶段中NCC为用户预计算的认证向量,卫星无需再向NCC获取用户信息。步骤如下:
Step3-1 用户向卫星发送{PID, R}和连接恢复请求。
Step3-2 卫星收到消息后,根据{PID, R}找到缓存的认证向量组AV(n),从中选出第1组AV(1),将其中的RAND和AUTH发送给用户。随后,用缓存的HG_U′计算rand′=RAND⊕HG_U′和用户的期望响应XRES=h(rand′)。
Step3-3 用户收到消息后,根据其初始接入时缓存的HG_U′解出随机数rand′=RAND⊕HG_U′、计算MACG_U′=h(rand′‖HG_U′‖SQN)。接下来,用户验证计算的MACG_U′与接收的MACG_U是否相等,以及SQN与缓存的SQN是否相等。若验证失败,结束会话;否则,用户计算认证响应RES=h(rand′)发给卫星,然后计算会话密钥SK=h(rand′‖SQN‖H‖HG_U′)。
Step3-4 卫星收到消息后,验证RES=XRES是否成立。若验证失败,结束会话; 否则, 将RAND和{PID, R}发送给关口站。然后,当前卫星根据轨位预测用户切换的下一颗卫星,并将HG_U′用双方的共享密钥加密后发送给下一颗卫星。
Step3-5 关口站收到消息后转发至NCC。NCC根据Token找到缓存的用户信息,然后计算会话密钥SK=h(rand′‖SQN‖H′‖HG_U)。
2.4 星间切换在会话连接过程中,用户逐渐远离原接入卫星的覆盖范围,原卫星根据轨迹预测选择新卫星并向其发送缓存的用户认证向量AV(n),新卫星收到后向用户发起认证,协议流程如图 4所示。步骤如下:
Step4-1 原卫星根据轨位预测选择用户切换的卫星后,向其发送AV(n)和{PID, R}。
Step4-2 新卫星收到消息后,将第1组AV(1)中的RAND和AUTH发送给用户。随后,用与上一颗卫星的共享密钥解密出HG_U′=DKpLEO_nLEO(EKpLEO_nLEO(HG_U)),然后计算rand′=RAND⊕HG_U′和用户的期望响应XRES=h(rand′)。
Step4-3到Step4-5双向认证和密钥协商过程与连接恢复阶段相同,最终协商出会话密钥SK=h(rand′‖SQN‖H′‖HG_U)。
3 安全分析本节对所提协议的安全性进行形式化证明,并根据1.2节的攻击者模型分析其安全特性。
3.1 BAN逻辑规则BAN逻辑[17]是一种基于信念的模态逻辑。在BAN逻辑的推理过程中,参加协议的主体的信念从初始状态发展为协议运行所要达到的目的。其基本符号如表 1所示[17]。
符号 | 含义 |
P, Q | 主体变量 |
X, Y | 公式变量 |
P|≡X | P相信X |
P收到X | |
P|~X | P曾经发送X |
P对X有仲裁权 | |
#(X) | X是新鲜的 |
K是P与Q的共享密钥 | |
{X}K | X用密钥K加密得到的密文 |
〈X〉Y | X和秘密Y的级联,主要利用Y来证明发出消息主体的身份 |
常见的BAN逻辑推理规则如下:
1) 消息含义规则,
$ \frac{{P| \equiv Q\mathop \leftrightarrow \limits^K P, P \triangleleft {{\left\{ X \right\}}_K}}}{{P| \equiv Q| \sim X}}; $ |
2) 随机数验证规则,
$ \frac{{P| \equiv \# \left( X \right), P| \equiv Q| \sim X}}{{P| \equiv Q| \equiv X}}; $ |
3) 仲裁规则,
$ \frac{{P| \equiv Q| \Rightarrow X, P| \equiv Q| \equiv X}}{{P| \equiv X}}; $ |
4) 消息新鲜性规则,
$ \frac{{P| \equiv \# \left( X \right)}}{{P| \equiv \# \left( {X, Y} \right)}}. $ |
1) 形式化描述。
消息1:U→NCC:
PID, R, {rU}H, T, h(IDU, rU, T);
消息2:NCC→U:
{rG}H, {rand}HG_U, 〈{SQN}HG_U〉h(HG_U, rand, SQN)。
2) 初始状态假设。
A1:U|≡#(T);A2:U|≡#(rU);
A3:NCC|≡#(rG);A4:NCC|≡#(rand);
A5:NCC|≡#(SQN);A6:U|≡
A7:NCC|≡
A8:U|≡NCC|≡
A9:NCC|≡U|≡
3) 预期目标。
目标1:U|≡
目标2:NCC|≡
4) 逻辑推理。
基于BAN逻辑规则和初始状态假设,所提协议的逻辑推理过程如下:
根据用户发给NCC的消息1,可以得出S1:
根据NCC发给用户的消息2,可以得出S7:
通过初始状态假设和BAN逻辑推理,本节最终推导出了2个预期目标。用户和NCC相信目标中会话密钥的真实性和完整性,可基于此密钥计算之后通信的加密密钥和完整性保护密钥,实现双向认证和保密性,以满足安全需求。
3.3 安全特性分析1) 抵抗伪装用户攻击。在初始接入阶段,Token{PID, R}基于随机数r和密钥K计算得出,攻击者无法获取r和K,因此攻击者无法构造有效消息{PID, R, RU, MACU_G}发送至NCC。在连接恢复和星间切换阶段,由于HU_G无法获取,攻击者无法得出rand来构造正确的RES伪装用户。
2) 抵抗服务器欺骗攻击。攻击者若伪装NCC,需要向用户发回一组有效的认证响应{RG, AV(i)}。但是,{RG, AV(i)}是基于秘密值H计算得出的,攻击者无法获取,因此无法实施服务器欺骗攻击。
3) 抵抗重放攻击。用户发送的消息{PID, R, RU, T, MACU_G, IDHSS}中的时间戳T可以保证此消息的新鲜性,挑战随机数rU可以验证服务器响应消息的新鲜性,并且消息认证码MACU_G中包含时间戳T和挑战随机数rU,攻击者无法篡改。在连接恢复和星间切换阶段,用户可以通过检验认证向量中的SQN与缓存的SQN是否相等来判断消息是否被重放,攻击者无法使重放消息中的SQN与用户的SQN保持同步。因此,攻击者无法实施重放攻击。
4) 抵抗DoS攻击。在本方案中,NCC无须储存用户的验证表等信息。NCC收到Token后,仅通过异或和Hash计算出MACU_G后,即可验证其身份,消耗的计算资源极小,因此可以抵抗DoS攻击。
5) 前向安全性。本协议的会话密钥中包含的秘密值H由HSS负责在每次会话结束后更新。并且,会话密钥中包含的HG_U和随机数都是由用户和NCC临时生成。攻击者即使获取了秘密值,也无法计算出会话密钥,因此协议具有前向安全性。
6) 用户匿名性。用户的Token{PID, R}由HSS生成。HSS将用户IDU与H异或生成PID,其中H是随机数r和密钥K的Hash运算的值。攻击者不知道r和K,无法计算出H,进而无法得到用户的真实IDU,因此协议可以满足用户匿名性。
4 性能分析 4.1 通信开销LEO卫星网络中,用户与关口站的消息最少需要经过一颗卫星转发。若用户连接的卫星没有与关口站直接相连,N条轨道、每条轨道M颗卫星的LEO卫星星座,最多需要经过M颗卫星转发。因此,减少用户与关口站的会话次数可以有效减少通信开销。表 2对比了所提协议与相关协议的会话次数。其中:SG(satellite-ground)表示星地(即卫星与关口站或用户)间的一次会话,SS(satellite-satellite)表示相邻卫星间的一次会话,IS(inter-satellite)表示星间1至M/2次SS会话。从表 2可见,所提协议在初始接入阶段与其他协议中最少的会话次数保持相同。在连接恢复和星间切换阶段,其他协议需要2次到M次相邻卫星间通信,而本协议不需要或仅需1次相邻卫星间通信,优于其他协议。
4.2 计算开销
H、E、S分别表示运行一次散列函数、指数运算和对称加密运算所需的时间。由于异或运算比指数以及散列运算所耗时间少得多,因此本节忽略各协议中异或运算的耗时。一般情况下,H、E和S的时间关系为
4.3 仿真分析
为了进一步说明方案性能,本节在Intel Core i7 2.20 GHz的计算机上对各方案进行了仿真实验。考虑到LEO卫星网络中,星地链路的通信延时相对固定;而星间链路的通信延时因用户接入点位置的不同导致消息经过LEO卫星转发的次数不同而相对不固定。图 5比较了星间链路转发次数(即星间通信延时)不同时,各协议在初始接入、连接恢复和星间切换阶段完成认证所消耗的时间。
可见,在初始接入阶段,本协议与其他协议的星地交互次数相近,计算开销相对较小,因此认证时间稍低于文[7-9]。然而,在连接恢复和星间切换阶段,本协议通过预计算认证向量的方法,减少了星地交互和星间链路的转发次数,缩减了通信延时,因此认证时间明显低于其他协议。其中,文[14]相较于其他协议至少多了2次星地和1次星间通信延时,导致认证时间随着星间通信延时的增加而明显增加。
5 结论本文针对LEO卫星网络存在的安全、QoS和NCC负载问题,提出了一种基于Token的用户随遇接入认证协议,采用异或和Hash运算,充分考虑卫星运行轨迹可预测和时钟高度同步的特点进行预认证,实现了用户的随遇接入和无缝切换,保障了LEO卫星网络的QoS。BAN逻辑证明和理论分析表明,所提协议满足双向认证、保密性和前向安全性等安全需求,还能够抵御伪装用户攻击、重放攻击和服务器欺骗攻击等攻击手段。同时,与相关协议性能对比和仿真分析表明,本协议具有较小的切换延时和计算开销,可为用户高效、安全地接入LEO卫星网络。
[1] |
LEOPOLD R J, MILLER A. The IRIDIUM communications system[C]//1993 IEEE MTT-S International Microwave Symposium Digest. Atlanta, USA, 1993: 575-578.
|
[2] |
付毅飞.我国计划2020年建成"鸿雁星座"[N].科技日报, 2016-11-03(1). FU Y F. China plans to build "Swan Goose Constellation" in 2020[N]. Science and Technology Daily, 2016-11-03(1). (in Chinese) |
[3] |
CAO J, MA M, LI H, et al. A survey on security aspects for LTE and LTE-A networks[J]. IEEE Communications Surveys & Tutorials, 2014, 16(1): 283-302. |
[4] |
CRUICKSHANK H S. A security system for satellite networks[C]//Proceedings of the 5th International Conference on Satellite Systems for Mobile Communications and Navigation. London, UK: IET, 1996: 187-190.
|
[5] |
HE D J, CHEN C, CHAN S, et al. Secure and efficient handover authentication based on bilinear pairing functions[J]. IEEE Transactions on Wireless Communications, 2012, 11(1): 48-53. DOI:10.1109/TWC.2011.110811.111240 |
[6] |
GABA G S, SARO T. A lightweight authentication protocol based on ECC for satellite communication[J]. Pertanika Journal of Science & Technology, 2017, 25(4): 1317-1330. |
[7] |
HWANG M S, YANG C C, SHIU C Y. An authentication scheme for mobile satellite communication system[J]. ACM SIGOPS Operating Systems Review, 2003, 37(4): 42-47. DOI:10.1145/958965 |
[8] |
ZHENG G, MA H T, CHENG C, et al. Design and logical analysis on the access authentication scheme for satellite mobile communication networks[J]. IET Information Security, 2012, 6(1): 6-13. |
[9] |
CHEN T H, LEE W B, CHEN H B. A self-verification authentication mechanism for mobile satellite communication systems[J]. Computers & Electrical Engineering, 2009, 35(1): 41-48. |
[10] |
LEE C C, LI C T, CHANG R X. A simple and efficient authentication scheme for mobile satellite communication systems[J]. International Journal of Satellite Communications and Networking, 2012, 30(1): 29-38. |
[11] |
ZHANG Y Y, CHEN J H, HUANG B J. An improved authentication scheme for mobile satellite communication systems[J]. International Journal of Satellite Communications and Networking, 2015, 33(2): 135-146. DOI:10.1002/sat.v33.2 |
[12] |
CHEN C L, CHENG K W, CHEN Y L, et al. An improvement on the self-verification authentication mechanism for a mobile satellite communication system[J]. Applied Mathematics & Information Sciences, 2014, 8(1L): 97-106. |
[13] |
TSAI J L, LO N W, WU T C. Secure anonymous authentication scheme without verification table for mobile satellite communication systems[J]. International Journal of Satellite Communications and Networking, 2014, 32(5): 443-452. DOI:10.1002/sat.v32.5 |
[14] |
LIN H Y. Efficient dynamic authentication for mobile satellite communication systems without verification table[J]. International Journal of Satellite Communications and Networking, 2016, 34(1): 3-10. |
[15] |
EVANS J V. Satellite systems for personal communications[J]. IEEE Antennas and Propagation Magazine, 1997, 39(3): 7-20. DOI:10.1109/74.598556 |
[16] |
DOLEV D, YAO A C. On the security of public key protocols[J]. IEEE Transactions on Information Theory, 1983, 29(2): 198-208. DOI:10.1109/TIT.1983.1056650 |
[17] |
BURROWS M, ABADI M, NEEDHAM R. A logic of authentication[J]. ACM SIGOPS Operating Systems Review, 1989, 23(5): 1-13. DOI:10.1145/74851 |