摘要:卫星IP网络的使用范围越来越广泛,但其信道存在高延时、高丢包率问题,而基于卫星IP网的业务应用对协议的时效性和稳定性具有很高要求。在卫星IP网络中的用户身份认证机制中,传统的二元信任模型会因为重复认证而造成通信效率降低。因此,基于多元信任模型,利用可信的用户身份票据,将本地网络层身份认证的结果安全传递到远端应用层的认证服务系统中,以减少在卫星信道上完成认证协议所需的交互次数,有效提高卫星IP网络中身份认证和应用系统的访问效率。

0 引 言

卫星通信是指利用通信卫星转发器实现的地面站(或手持终端)之间、地面站与航天器之间的无线通信。卫星IP网络是指利用卫星通信实现的TCP/IP数据传输网络,可作为地面IP网络的延伸。卫星通信具备不受地理条件约束、覆盖面广、广播性能优越、组网灵活、建设速度快等优点,在构建跨越全球、覆盖偏远边疆地区的广域IP网络方面具备明显优势,广泛应用于军事、政治、应急、海洋通信、跨境贸易等领域,在信息化建设中发挥着日趋重要的作用[1]。

卫星IP网络通过公开的卫星信道进行数据传输。相比地面光纤组建的IP网络,它的网络和信息安全风险更大。接入卫星IP网络的业务系统,面临来自公开信道的信息窃取和网络攻击威胁。因此,具有高安全需求的卫星IP网络,一般需要在地面站接入区部署链路或者网络层加密机,实现卫星信道的安全保护。同时,需要在应用接入区部署用户接入认证和访问控制设备,实现对远程用户的身份认证和权限鉴别[2-3]。实际应用中,由于卫星网络的高延迟、信道质量差等问题,远程用户在接入时面临认证等待时间长、认证成功率不高等问题,严重影响了用户体验和信息化服务质量[4]。本文针对这个问题,结合全球部署的高安全卫星IP网络中的应用系统安全需求,基于多元信任模型,改进了用户接入认证和访问控制的实现机制,并进行了对比测试。新机制在保持安全防护水平的前提下,极大提升了用户认证效率。

1 身份认证和访问控制技术

1.1 身份认证

身份认证技术是指通过双方协商一致的方式由认证方(一般为应用系统)对被认证方的身份进行识别和确认的技术。信息系统中,身份认证技术是保证网络和应用系统安全的关键措施。

信息系统身份认证技术包括口令、数字证书、生物特征和即时验证码等多种方式。这些认证方式的原理不尽相同,应用效果各有特点。其中,基于口令的认证方式实现起来最为简单,但安全性较差,通过字典攻击等方式可以被快速破解;基于数字证书的认证方式安全性较高,但数字证书的管理和维护成本较大;基于生物特征的认证方式安全易用,但因生物特征泄漏后会危害身份隐私,在网络中使用时局限较大;验证码的认证方式则一般应用在两阶段认证(2FA)或多阶段认证(MFA)过程中,作为口令等方式的辅助认证手段。

1.2 访问控制

访问控制技术是指基于用户的身份和授权信息,对用户的访问行为进行控制的技术。访问控制技术的关键在于访问控制策略的管理和使用。在网络和信息系统中,使用最多的访问控制策略包括基于身份的策略和基于角色的策略。基于身份的访问控制策略是将访问权限绑定在用户身份上,根据该策略,经过验证的用户身份可以自动获取响应权限。基于角色的访问控制策略(RBAC)是在用户和权限间加入角色概念,权限绑定在角色上,而用户可以获取一个或多个角色。该方法在用户量较大时,能够有效减轻管理的负责度。

基于属性的访问控制策略(ABAC)是近年来研究的一个重点方向。该方法将用户的身份进行扩展,以属性集的方式进行管理,相关权限可以与用户属性进行绑定。这种方法与密码技术结合,发展出属性基加密技术,能够实现对加密数据信息的访问控制,在云计算场景中具有较大前景。

2 卫星IP网络中的用户接入认证及访问控制问题

传统卫星通信网络主要用于点对点通信。随着卫星通信带宽的提升,以卫星IP网络作为数据传输平台,承载业务应用系统的场景越来越多。一个典型的基于卫星IP网络的业务应用系统和安全防护场景如图1所示。

该场景中,整体架构可分为服务端、用户端和卫星信道。在用户认证防护方面,用户端部署网关设备,实现对终端设备和用户的入网控制[5]。在服务端部署访问控制系统,实现对用户的身份认证和访问控制。这种场景下,用户要完成一次对应用系统的访问,需要的认证和访问控制流程如图2所示。

从图2可以看出,用户从远端客户端访问应用系统的流程包含三个独立阶段。

(1)客户端与本地网关设备基于EAPoL等协议实现的用户和终端身份认证,认证通过后,用户和终端可以接入网络。

(2)用户在客户端与远方的访问控制系统进行身份认证和权限鉴别,以决定用户是否可以访问业务系统。这个过程一般需要三次握手协议实现。

(3)用户在访问控制系统上验证通过后,可以开始访问应用系统。

在这种访问模式中,用户进行系统认证的网络时延 ,其中a 是客户端到网关的通信时延,b 是地面和卫星之间的通信时延。经过分析和测试,a 为毫秒级,b 平均约为0.3 s。用户访问耗时最长的阶段在于客户端与访问控制系统的通信,因为这个阶段通过卫星链路。在卫星IP网络中,三次握手的认证协议需要六次星地通信,那么这次认证所消耗的时间将达到1.8 s。实际环境中,客户端流量有可能需要通过两次或三次卫星中继才能到达访问控制系统,用户在认证过程中耗费的时间将达到3.6 s或者5.4 s,严重影响用户对网络的使用体验。

3 方案改进设计

3.1 多元信任模型

从图2的流程可以看出,实际上,用户在用户端和服务端分别完成了一次独立的身份认证:一次网络系统对用户的认证,一次应用系统对用户的认证。这是一种典型的二元信任模型,即用户和网络、用户和应用分别建立信任关系,而两种信任关系没有产生关联。但显然,这两个信任关系在用户这一方面是有关联的。基于这种理念,提出一种改进方案。首先,在模型上,需要将二元信任模型改进为多元信任模型,如图3(a)和图3(b)所示。

图3中,通过在网络系统和应用系统之间建立信任传递机制,使在不同系统间共享对用户的认证结果,能够将传统的二元信任模型转换为多元信任模型。在多元信任模型中,以用户为中心,经过认证的身份在网络系统和应用系统中是无障碍通行的。无论这次认证由哪个系统完成,都能够给用户带来“一次认证、全网通行”的使用感受。

3.2 认证流程改进

基于多元信任模型,在上述应用场景中,用户身份认证和访问控制流程可以得到简化[6-7],如图4所示。

在开展该流程前,应完成前置条件,即建立网关和访问控制系统之间的互信关系。建立该关系,可通过定期执行互信认证协议,协商出双方共享的秘密信息;也可通过管理配置方式,使访问控制系统预先知悉网关的身份及所具备的秘密信息。

整体安全访问流程可分为身份认证、身份传递和访问控制三部分。

身份认证即通过网关对用户身份的认证,在用户所在局域网内完成,流程实现方式与原有方案一致。通过该阶段,可实现网关对用户身份的信任。

身份传递涉及网关和访问控制系统。首先,当用户流量通过网关设备时,网关在被信任的用户流量上增加身份票据。该身份票据是基于网关设备对用户身份认证的结果,并以网关和访问控制系统间共享的秘密信息作为核验的依据,通过签名方式,形成一段不可篡改、可核验的信息。然后,当用户流量到达访问控制系统时,访问控制系统使用网关的秘密信息,通过验签的方式核验票据信息。若核验通过,则访问控制系统信任该用户的身份。

访问控制是在访问控制系统验证了用户身份后,根据用户的角色或属性,按照预先设置的访问策略,给用户提供对应用系统的合法访问权限。

3.3 票据和数据保护方案

为实现上述方案,重点完善了协议设计和身份票据的设计。在网关设备上制作票据的方案为:

在访问控制系统中,核验票据的方案为:

身份票据信息包含用户的身份标识UserID 、网关的身份标识DevID 以及消息中所携带的时间戳Timestamp 。网关设备上,将上述三个信息连接后,使用网关的私钥pk 对其进行签名形成票据信息。消息Message 在附加票据信息后,使用网关和访问控制系统间共享的密钥Key 进行加密,生成消息密文 ,以确保消息和票据信息的机密性和完整性。请求到达访问控制系统后,首先使用key 对 解密,得到消息明文和票据,再使用网关公钥pk 验证票据的正确性。

4 方案实现

实现票据处理的核心伪代码如下:

Class Message{

String UserID;

String DevID;

String TimeStamp;

Byte[] mes_content;

Byte[] ticket;

int mes_cont_length;

static int tick_length=64;

Class crypto;

Byte[] make_ticket(String SkeyID)

{

String sign_target=UserID||DevID||TimeStamp;

ticket=crypto.sign(SkeyID,sign_target);

return ticket;

}

void enc_mes(String KeyID,Byte[]ticket)

{

mes_content=mes_content.add(ticket,tick_length);

mes_cont_length+=tick_length;

mes_content=crypto.enc(KeyID,mes_content,mes_cont_length);

}

void dec_mes(String KeyID)

{

mes_content=crypto.dec(KeyID,mes_content,mes_cont_length);

mes_cont_length=tick_length;

ticket = mes_content[mes_cont_length,tick_length];

mes_content = mes_content[0,mes_cont_length];

}

bool check_ticket(String PkeyID,Byte[] ticket)

{

Byte[] c_ticket=crypto.verify(Pkey,UserID||DevID||TimeStamp);

if (ticket==c_ticket)

return true;

else

return false;

}

}

其中,在网关上计算票据,并将其加入消息内容的函数是make_ticket和enc_mes;在访问控制系统上解密消息获取票据,验证票据的函数是dec_mes和check_ticket。

基于上述代码实现,通过使用网络损伤仪搭建模拟卫星信道的实验环境。经过多次测试可明显发现,从客户端对应用系统进行访问的时间得到了改善。

5 结语

通过开展流程优化,改进网关设备和访问控制系统的实现,为基于卫星IP网络的应用系统访问控制提供了更高效、更安全的身份认证。同时,随着云计算、5G通信网络技术的发展,大量应用系统依赖于统一的网络平台或者计算平台而存在。本文所遵循的多元信任模型在云计算和5G网络应用场景中,对如何开展基于平台的统一信任服务具有有益的指导意义。

参考文献:

[1] 李兴,吴诗其.宽带卫星IP网及其关键技术[J].世界网络与多媒体,2001(08):30-32.

LI Xing,WU Shi-qi.BroadBand IP-based Satellite Network Technologies[J].Broadband Networks and MulitiMedia Applications,2001(08):30-32.

[2] 黄飞,许辉,吴诗其.基于PEP-IPSec实现卫星IP网的网络安全[J].计算机应用研究,2007,24(08):132-136.

[3] Ehsan N,Liu M,Ragland R J.Evaluation of Performance Enhancing Proxies in Internet over Satellite[J].International Journal of Communication Systems,2003,16(06):513-534.

[4] Henderson T R,Katz R H.Transport Protocols for Internet-compatible Satellite Networks[M].IEEE Press,2006.

[5] 王毳.卫星IP网关关键技术研究[D].西安:西安电子科技大学,2010.

[6] 张小亮,涂勇策,马恒太等.一种适用于卫星通信网络的端到端认证协议[J].计算机研究与发展,2013,50(03):540-547.

[7] 冯涛,马建峰.UC安全的移动卫星通信系统认证密钥交换协议[J].宇航学报,2008,29(06):1959-1964.

作者简介:

张兆雷,中国电子科技集团公司第三十研究所硕士,主要研究方向为信息安全、信息系统;

董贵山,中国电子科技集团公司第三十研究所研究员,博士,主要研究方向为信息安全、信息系统。

(本文选自《通信技术》2018年第十一期)

声明:本文来自信息安全与通信保密杂志社,版权归作者所有。文章内容仅代表作者独立观点,不代表士冗科技立场,转载目的在于传递更多信息。如有侵权,请联系 service@expshell.com。