北斗战场通信网络身份认证方法*
2019-07-16赵东昊卢昱王增光
赵东昊,卢昱,王增光
(陆军工程大学石家庄校区 装备模拟训练中心,河北 石家庄 050003)
0 引言
随着信息技术的不断发展,战争的形式也随之发生了变化,信息战成为了继陆、海、空作战后新的战争形式和未来战争的主要作战模式之一[1]。通信网络系统作为信息战的核心和枢纽,能否保证通信网络系统正常使用,实现安全通信成为了影响战争走向的决定性因素[1]。
战场通信网络的安全性是打赢信息战的关键保证,而身份认证是确保战场通信网络安全的第一道防线[2]。为了实现指挥中心与移动终端节点之间的安全通信,使指挥中心实时掌握战场动态,及时调整作战部署以及行动方案,首先要完成通信双方的身份认证。在复杂恶劣的战场环境中,移动节点更加容易面临攻击、俘获和失效等问题,对网络的安全性有着更高的要求[3-4]。相比于基于单因素的身份认证,基于多因素的身份认证具有更强的安全性,更加适合于应用到对安全性要求更高的战场通信网络中。
目前,对于多因素身份认证协议的研究也有了一些成果。Spantzel等人[5]将口令、生物特征和公钥加密结合起来,设计了一种多因素认证协议,该协议具有保护用户隐私的功能,但协议的安全性并没有经过证明,仍可能存在安全漏洞。Fan等人[6]将口令、生物特征和智能卡结合了起来,该协议也实现了隐私保护同时安全性较高,但由于交互次数较多导致效率较低。Yang等人[7]提出了一种适合无线网络环境的多因素身份认证协议,该协议结合了生物特征、智能卡和口令认证,具有较高安全性的同时通信效率较低。还有很多人[8-10]提出可以通过在认证协议中加入时间戳来抵抗重放攻击,但没有提出一种实现全网络时钟精确同步的方法,这将会对认证过程有很大影响。
本文结合战场通信网络对安全性要求高,时效性、移动性强的特点,基于“北斗”卫星导航系统所提供的高精度的授时功能,高质量的定位功能以及安全可靠的短报文通信功能,设计了基于“北斗”的多因素身份认证协议。协议除了通过传统的随机数以及证书进行加密外,通过加入时间戳信息,可以有效的抵御来自敌方的重放攻击;通过加入位置信息,可以避免因伪装攻击而引起的非法入侵以及信息泄露、破坏等问题;初始化过程中的信息安全依托于“北斗”的短报文通信,十分有效的提高了身份认证的安全性。
1 协议设计
1.1 “北斗”卫星导航系统概述
“北斗”卫星导航系统是我国自主研制、自主建设、独立运行的卫星导航系统,具有独立自主、开放兼容、技术先进的特点[11],并且采用高强度加密设计,具有非常高的安全性、可靠性和稳定性,适合应用于对安全性、保密性要求较高的战场环境。
BDS一方面确保了全网用户时间的精确统一,用户也可以通过BDS获取时间戳值,为基于时间因素设计的身份认证方案提供了有力支撑[12]。另一方面,BDS的定位功能能够精确的为全网用户确定位置信息,基于位置信息设计身份认证方案,为解决战场被俘节点的身份确认问题提供可能性。同时,BDS的安全信道设计有高强度的加密措施,通信信号稳定,可以有效增强认证的安全性[13]。
1.2 协议设计基本思想
基于北斗的战场通信网络身份认证方案模型如图1所示,主要由“北斗”卫星导航系统、指挥中心和北斗移动终端节点组成。为了使方案的安全性能够满足战场需求,在认证过程中把通过BDS获得的时间戳值作为认证信息的一部分,可利用时间戳值的新鲜性抵抗重放攻击;将地理位置信息也加入认证因素,可以验证终端节点是否按照既定方案进行移动,避免出现遭到敌方俘获后信息被窃听的情况。同时结合传统的随机数以及证书加密并成对匹配用户种子值以及设备硬件标志信息,设计为多因素的身份认证协议,有效地提高了协议的安全性。当战场中的某终端节点请求与指挥中心通信时,根据认证协议可在保证节点隐私的前提下安全的实现认证,认证成功的同时也会生成相同的对称会话密钥。
图1 认证模型Fig.1 Authentication model
2 协议描述
身份认证协议分为初始化过程和认证过程2个阶段,方案中涉及的符号及含义如表1所示。
表1 方案中涉及到的符号及含义Table1 Symbols and meanings involved in the scheme
2.1 初始化过程
初始化阶段主要完成节点的身份注册以及密钥的生成和分发,密钥由椭圆曲线密码体制生成。具体流程如下:
(1) 指挥中心CC选择合适的椭圆曲线进行初始化并选择密钥对;
(2) 节点U向指控中心CC发送注册请求Reg;
(3) 指控中心CC收到节点U的注册请求后,将椭圆曲线的参数集ECC以及指控中心的公钥KCCR发送给节点U;
(4) 节点U根据参数集ECC选择自己的密钥对,存储指控中心的公钥KCCR并将身份标识ID,终端硬件标识IMEI,自身保存的独一无二的种子Seed以及自身公钥KUR通过指控中心公钥加密后发送给指控中心;
(5) 指控中心解密消息后检验ID是否在数据库中,若不在,则将ID,Seed,IMEI以及KUR绑定存入数据库中,并完成注册。
至此初始化过程结束,初始化流程图如图2所示。
图2 初始化阶段流程图Fig.2 Flow chart of initialization phase
2.2 身份认证阶段
(1) 节点U首先将自己的身份标识ID以及认证请求Aug发送给指控中心CC。
(2) 指控中心根据数据库中保存的身份标识验证节点U是否已经完成注册,如果数据库中没有相关用户,则拒绝认证并断开与节点U的对话。
(5) 节点U在接收并验证指控中心发送的信息之后,从北斗导航系统获取时间戳值以及位置信息,将位置信息PU以及随机数rU使用指控中心的公钥进行加密得到(PU,rU)KCCR,并用自己的私钥对时间戳值TU以及加密后的位置信息以及随机数(PU,rU)KCCR进行签名得到signU{TU,(PU,rU)KCCR},将TU,(PU,rU)KCCR以及signU{TU,(PU,rU)KCCR}发送给指控中心,并按照如下公式生成与指控中心的会话密钥k。
k=F(rU,{|rCC|}KUR)=rU+
{|{|rCC|}KUR|}KUR=
rU+{|{|rCC|}KUR|}KUS.
(1)
(6) 指控中心收到消息后首先验证时间戳值TU的新鲜性,若验证通过,使用节点U的公钥验证签名消息signU{TU,(PU,rU)KCCR}的正确性,若验证通过,使用自己的私钥对接收到的加密信息(PU,rU)KCCR进行解密得到位置信息PU以及随机数rU,将得到的位置信息与指控中心监控到的信息进行对比,如果不同则认证失败,返回标志信息R=0;若相同则表明指控中心对节点U的认证成功,返回标志信息R=1,同时按照如下公式生成与节点U的会话密钥k。
k=F(rCC,{|rU|}KCCR)=rCC+
{|{|rU|}KCCR|}KUR=
rCC+{|{|rU|}KCCR|}KCCS.
(2)
由式(1),有
k=rU+rCC,
(3)
由式(2),有
k=rCC+rU.
(4)
可知,认证过程中,终端节点U和指控中心CC根据协议生成了相同的会话密钥。
至此,节点与指控中心之间的双向认证完成,同时生成了相同的会话密钥k用于后续的会话通信。认证流程如图3所示。
图3 认证阶段基本流程图Fig.3 Basic flow chart of the authentication phase
3 安全性分析
本文为了提高战场移动通信网络的安全性,基于“北斗”卫星导航系统设计了一种多因素身份认证方案,有效地提高了认证的安全性。下面从攻击者的角度对方案的安全性进行分析。
(1) 抗重放攻击分析
基于北斗高精度的授时功能,实现了全网时钟的精确同步并在认证信息中加入了时间戳值,即使攻击者截获了信息,在进行重放攻击时,由于时间戳值的时效性,指控中心可以轻易的发现该攻击并终止认证,所以可以有效的防止重放攻击。
(2) 抗假冒攻击特性分析
由于认证过程中除身份标识外,还使用了种子以及终端硬件标识码作为认证条件,所以即使攻击方能够假冒节点身份,也没有办法得到其本身保存的,独一无二的种子值以及硬件标识码,也就无法利用伪造的身份进行正常通信。
(3) 多因素认证特性分析
在认证的过程中,除了需要验证节点的签名证书外,还需要验证从北斗导航系统获取的时间戳值以及位置信息。所有认证因素均由指控中心的公钥进行加密后发送,除了指控中心外没有人可以获取节点的时间以及位置信息,保证了信息的安全性,同时和传统的仅靠随机数或证书的单因素认证相比,安全性以及可靠性会更高。
(4) 抗中间人攻击特性分析
该协议在认证过程中完成了双向认证,即节点和指控中心之间相互认证。由于认证因素中的时间和地理位置信息均为保密信息,所以攻击者理论上无法完成身份的伪造;假设攻击方能够截获节点和指控中心之间的交互信息,由于双方的交互信息均采用非对称密钥进行了加密处理,没有对应的私钥也无法完成信息的窃取。
(5) 终端节点信息安全性分析
该协议在认证过程中,节点的位置信息都是通过北斗监控中心的公钥加密后传输的,除了北斗监控中心外其他完成或未完成认证的节点均无法获取该信息,保证了节点的位置信息不会被泄露,确保了其隐私性和安全性。
4 基于SVO的形式化分析
SVO逻辑是一种对协议进行形式化分析的信任逻辑法,能够成功发现协议设计中的安全漏洞和缺陷,尤其在对认证协议的安全性分析方面起着重要作用[14]。它借鉴了GNY逻辑、BAN逻辑、AT逻辑等信任逻辑法直观易用的优点,同时它的公理和推理规则也更加简洁,并且建立了用于推证合理性的理论模型[15]。基于SVO的形式化逻辑分析方法成为了目前应用最广泛的一种方法,因此本文使用SVO逻辑对所设计的基于北斗的战场通信网络身份认证协议进行了形式化分析。
4.1 推理规则
本文采用SVO逻辑对所设计协议进行形式化分析时使用到的推理规则如下:
(1) 分离规则
(2) 必然规则
本文采用SVO逻辑对所设计协议进行形式化分析时使用到的公理如下:
(1) 源关联公理
A2:(PKσ(Q,k))∧RreceivedX∧SV(X,k,Y)→QsaidY
(2) 密钥协商公理
(3) 收到公理
A4:Preceived(X1,…,Xl)→PreceivedXi(i=1,…,l)
(4) 说过公理
A6:Psays(X1,…,Xl)→Psaid(X1,…,Xl)∧PsaysXi(i=1,…,l)
(5) 控制公理
A7:Pcontrolsφ∧Psaysφ→φ
(6) 新鲜性公理
A8:fresh(Xi)→fresh(X1,…,Xl)(i=1,…,l)
A9:fresh(X1,…,Xl)→fresh(F(X1,…,Xl))
(7) 新鲜值验证公理
A10:fresh(X)∧PsaidX→PsaysX
4.2 基于SVO逻辑的分析
(1) 初始假设
对于节点U的初始假设如下:
SU1:Ubelieves fresh(TCC)
SU3:UbelievesUseesKCCS
SU4:Ubelieves CC controlsPKδ(CC,(rCC)KUR)
SU5:UbelievesPKδ(U,(rU)KCCR)
SU6:UbelievesUseesk
SU7:Ubelieves fresh(rU)
对于CC的初始假设如下:
SCC1:CC believes fresh(TU)
SCC3:CC believes SV(signU(TU,PU,rU),KUR,(TU,PU,rU))
SCC4:CC believes CC seesKUS
SCC5:CC believes fresh(ID,KUR)
SCC6:CC believesUcontrolsPKδ(U,(rU)CCR)
SCC7:CC believesPKδ(CC,(rCC)KUR)
SCC8:CC believes CC seesk
SCC9:CC believes fresh(rCC)
(2) 理解假设
对于节点U的理解假设如下:
对于指挥中心CC的理解假设如下:
UCC1:CC believes CC received(signU{TU,(PU,rU)KCCR},TU,(PU,rU)KCCR)
(3) 协议目标
T3:Ubelieves fresh(k)
T4:CC believesUsays (TU,(PU,rU)KCCR)
T5:CC believes CC receivedPU
T7:CC believes fresh(k)
(4) 推导协议目标
根据UU1,A4,MP
根据1,SU2,A2,MP
根据SU1,A8,MP
根据2,3,A10,MP。协议目标T1得证。
5)Ubelieves CC saysPKδ(CC,(rU)KUR)
根据4,A6,MP
6)UbelievesPKδ(CC,(rCC)KUR)
根据5,SU4,A7,MP
根据6,SU5,A3,MP
根据7,SU6,MP。协议目标T3得证。
9)Ubelieves fresh(k)
根据SU7,A10,MP。协议目标T4得证。
10)UbelievesUreceived signU(TU,(PU,rU)KCCR)
根据UCC1,A4,MP
11) CC believesUsaid(TU,(PU,rU)KCCR)
根据10,SCC3,A2,MP
12) CC believes fresh(TU,(PU,rU)KCCR)
根据SCC1,A8,MP
13) CC believesUsays (TU,(PU,rU)KCCR,rA)
根据11,12,A10,MP。协议目标T5得证。
14) CC believes CC received signU{TU,(PU,rU)KCCR},TU,(PU,rU)KCCR
根据UCC2,A4,MP
15) CC believes CC received(PU,rU)KBCCR
根据14,A4,MP
16) CC believes CC receivedPU
根据15,SCC4,A5,MP。协议目标T7得证。
17) CC believes CC saysPKδ(U,(rU)KCCR)
根据SCC7,A6,MP
18) CC believesPKδ(U,(rU)KCCR)
根据17,SCC6,A7,MP
根据16,SCC7,A3,MP
根据19,SCC8,MP。协议目标T8得证。
21) CC believes fresh(k)
根据SCC9,A9,MP。协议目标T9得证。
由上述推导过程可知,通过初始假设以及逻辑推理,所有目标全部得证,即终端节点和指控中心能够实现双向认证并通过协商得到用于后续会话的密钥。因此,通过SVO逻辑对协议进行的形式化分析证明了协议的正确性,不存在安全漏洞。
5 结束语
本文提出了一种可以适用于复杂战场环境下的基于“北斗”的身份认证协议,将“北斗”卫星导航系统特有的时间以及位置信息加入到认证因素中,采用了多因素双向认证,有效提高了认证的安全性和可靠性。安全性分析和基于SVO逻辑的形式化分析表明,本协议可以实现终端节点与指控中心的双向认证并且不存在安全漏洞,可以为战场环境下的移动终端设备提供安全保障。