卫星终端安全模块软件重构系统设计与实现

卫星终端安全模块软件重构系统设计与实现

麻烦您能在百忙之中抽空点一下“关注”,方便与您讨论和分享,您的支持是我前进的最大动力,谢谢!

随着科技的不断创新发展,卫星网络在通信领域中扮演越来越重要的角色,这个领域已经被学术界和工业界重点关注。近年来,卫星网络在各个国家和地区部署风起云涌,伴随着卫星网络的规模结构越来越庞大、复杂,给卫星网络的安全环境带来了很大的挑战。

卫星终端安全模块是保障卫星网络空间安全的核心支柱,但是卫星终端安全模块软件层面上存在着诸多问题。首先,软件设计与开发中不可避免的会存在各种各样的漏洞;其次,一些紧急的突发情况下,比如面临比较危急的安全事件(遭遇黑客入侵,感染病毒、木马等),或者安全模块的某一个功能面临实际情况的变换需要做出功能上的转变。

卫星终端安全模块软件重构系统设计与实现

此外,软件发布了全新版本,拥有更好的性能和更为合理的功能与配置;这些情况下管理员只有马上对卫星终端安全模块执行重构操作才能将这些问题解决。软件重构主要功能是当前版本的软件整体或某一部分需要进行重新构造或者当前版本的软件出现了漏洞或者这个版本的软件存在更新版本时,通过网络进行相关文件的获取来执行重构操作,以此来保证软件系统稳定良好的运行,并能够让软件不断的完善

完全圆锥型NAT(FullConeNAT)

在这种模式下,来自NAT设备后面的一个IP地址和端口的所有请求,通过NAT设备都转发给同样的外部IP地址和端口;同时,所有在外网主机都可以直接向这个在外网IP地址和相应的端口传输报文,而这个接口也是可以用于与内部主机通讯的。网络拓扑结构像一个锥体朝外侧打开。

这种结构非常简便,限制也非常低,只需要配置好内网主机的IP地址和端口与外网IP地址和端口之间的映射关系,任何在外网主机都能够通过NAT登陆内网主机。一般来说, 同一个内网地址只能对应同一个外网地址 。配对完成后,首先需要将数据包传送到目标节点,之后才可以再次从目标节点获取数据包。目标的端口没有限制。完全圆锥型NAT网络拓扑结构如图所示。

卫星终端安全模块软件重构系统设计与实现

地址限制式圆锥型NAT(AddressRestrictedConeNAT)

这种模式也将一个内网IP地址和网关的所有数据发送给同一个外部网络IP地址和端口;相比第一种方法的区别是,内网主机向外网主机发出消息后,只接收数据,而只有外网主机才可以直接向内网主机发出消息。同一个内网地址只能与同一个外网地址配对。匹配完成后,需要首先向目标服务器发送一次数据,然后目标服务器才收到应答的数据。目标端口存在限制。网络拓扑结构如图所示。

卫星终端安全模块软件重构系统设计与实现

端口限制式圆锥型NAT(PortRestrictedConeNAT)

这种模式的限制条件更加严格,如图所示。除了在以上说明的两种方法的限制外,还规定了只有外网主机才可以使用此端口向内网主机传输数据包。同样的内部网络地址也可以配对为同样的外部网络地址,并且在配对完成之后,数据包必须要先发送至目标主机,然后才可以获取到目标主机发过来的数据包。这种模式是有端口限制的。

卫星终端安全模块软件重构系统设计与实现

对称式NAT(SymmetricNAT)

这种模式将所有与相同的目标有通信关系的内部网络地址(IP+端口)进行映射;使用相同网络地址(IP+端口)将数据传输到不同的目标这种情况下产生的地址信息对会不同。它具有端口限制式圆锥型NAT的特质,每当一个内部地址需要一个特定的外部地址时,它都可以与一个新的端口号相关联。

内部网络地址相同的情况下,通信目标不同外部网络地址的配对也不同。在收到回应的数据包之前,必须先向目标发送数据包。网络拓扑结构如图所示。

卫星终端安全模块软件重构系统设计与实现

epoll机制

epoll属于Linux内核可扩充I/O事件通知管理机制。在Linux操作系统上运行,它的创造目的是为了代替现在的POSIXselect和poll机制,在一个有着处理大量文件描述符需求的应用程序当中,可使用此种机制展现出极佳的性能。从功能层面上来说,epoll与poll十分相似,都属于对多文件描述符中的事件进行跟踪,它相似于FreeBSD的kqueue。

底层结构用一个操作系统核心对象构造,它以文件描述符的方式在用户空间中显示。epoll可以通过数据结构红黑树来查找正处在被监控阶段的文件描述符。注册事件时,epoll把待注册事件加载在红黑树的同时建立回调函数,事件发生后将事件连接到就绪链表上。

卫星终端安全模块软件重构系统设计与实现

中心化指定区域重构技术方案

在重构系统的中心化重构模式中, 中心服务器负责指挥重构操作的一切流程 ,本文设计的中心化重构网络指定区域重构技术方案是:每次重构系统客户端启动后,都要选择一个自己的重构网络逻辑区域,选择完成后,重构系统客户端根据选定的重构网络逻辑区域连接到对应的中心服务器。

也就是说,每一个重构网络逻辑区域都会对应一台或数台服务器,中心化重构网络指定区域重构操作开始后,由各个重构网络逻辑区域对应的服务器对各重构网络逻辑区域内的重构系统客户端进行重构操作。所有的重构网络逻辑区域对应的服务器连接到一个或多个中心服务器,由中心服务器来启动中心化重构网络指定区域重构功能,并将重构文件发送给指定的逻辑区域对应的服务器。中心化重构网络的网络拓扑结构如图所示。

卫星终端安全模块软件重构系统设计与实现

检测客户端NAT类型

客户端首先使用 UDP协议 建立连接,把数据包发送给反射服务器。服务器传输一条IP-a,但端口不是Port-a的数据包来应答服务器。反复这种步骤5次。只要每一次都超时,就无法得到反射服务器的应答,这就表示客户端所处网络类型为端口绑定NAT;若能收到反射服务器的反馈,说明客户端所处网络类型为地址绑定NAT。以上两种NAT都可以进行P2P通信。

卫星终端安全模块软件重构系统设计与实现

TURN功能

在P2P网络中,客户端位于内部网络中,并且通过NAT设备连接到外部网络。外部网络中活跃着反射服务器。此节点想要同在线的另一个或另几个节点建立连接。这些节点也处在NAT网络环境里。客户端通过反射服务器设备充当中继,与所有节点通信。

客户端利用与目标终端的映射关系构建与反射服务器的会话。客户端可以利用指令,在反射服务器设备上创建定位信息,定位信息的作用是唯一标识目标节点。只要创建了定位信息,服务器就能根据指令信息将数据传输给相应的节点。

客户端将目标节点定位信息装载到TURN消息中,由反射服务器获取并以UDP数据信息包的形式中继转发给目标节点。从相反的方向,目标节点以同样的方式用UDP包中继传送给原节点。而由于TURN消息始终包括了目标节点正在通信节点的定位信息,使得节点能够同时通过定位信息与几个节点建立连接并通信。如图所示。

卫星终端安全模块软件重构系统设计与实现

混合加密程序实现

重构系统中的混合加密部分分为三个相关子模块来开发,即 数据发送处理模块、通信应用模块和数据接收处理模块 。其中,数据发送处理模块负责用户密钥生成、计算共享密钥、加密数据;数据接收处理模块则完成计算共享密钥和解密文件等功能。数据发送处理模块的密钥生成功能用于实现用户每次发送数据所需要的临时公私钥对,确保连接的两端程序通信的安全可靠。公私钥对生成功能实现依赖以下几个函数。

卫星终端安全模块软件重构系统设计与实现

使用SM4算法加密明文数据,得到的结果与发送端公钥拼接起来。数据加密功能是数据发送处理模块的关键功能,该功能使用SM4加密算法执行对数据的加密处理,同时用SM3算法计算加密数据的摘要值,得到的摘要值再用SM2算法计算数字签名,得到的结果与发送端公钥拼接起来。待发送的数据内容结构为: 发送端公钥+数字签名+密文信息

反射服务器程序实现

反射服务器程序的实现为epoll机制的多线程模式,每一个终端的反射请求都由一个线程来进行处理,程序的具体实现过程如下:反射服务器收到UDP数据包形式的反射请求;反射服务器开辟一个单独的线程处理这个请求,首先进入STUN协议处理部分,处理流程如下。

发送3个检测类型数据包以检查客户端是否处于NAT模式。如果客户端一次都没有响应,表明服务器端就无法实现UDP通讯。也有可能因为防火墙导致无法使用UDP通信;如果能收到回应,进入下一步的NAT类型检测;检测NAT类型,同时依据NAT类型选择客户端的外网IP和端口号。

反射服务器得到外网IP和端口号后,将其发送给客户端,并接收客户端的接收确认;反射服务器接收到接收确认消息后,在服务器内为该客户端开启一对IP地址-端口号,并返回给客户端。

卫星终端安全模块软件重构系统设计与实现

总结

如何通过卫星网络快速高效地把目标重构文件传输到每一个目标终端,并根据实际情况的需要设计实现一种指定区域重构功能;在卫星网络终端中,存在一定数量的终端处于NAT网络环境之下,如何让这些终端能够穿透NAT网络环境以实现点对点通信;设计并实现一种卫星终端重构文件安全传输方案,以避免传送到网络上的数据被篡改、截断、重放攻击等事件经常发生。

针对第一个问题,本文设计出一种文件分发技术,这种文件分发技术基于两种模式:第一种模式基于中心化文件分发技术;第二种模式基于P2P技术。根据现实需要,管理人员选择合适的重构模式。本文设计并实现了文件分发技术两种模式对应的指定区域重构功能。

针对第二个问题,本文设计一种NAT穿透方式,这种NAT穿透方式以反射服务器反射通信地址的方法为主,中继转发方法为辅。在反射服务器的实现中使用了STUN技术用来向NAT网络内部的节点反射回它对应的外部网络通信地址,反射成功后使用获得的通信地址进行通信,反射失败则利用反射服务器的TURN功能以中继转发的方式实现NAT穿透。

针对第三个问题,本文设计了一种混合加密技术,基于此技术实现了卫星终端重构文件安全传输方案,保证重构过程中卫星网络上的传输的数据正确性、完整性、抗抵赖性,同时也保证了卫星网络上执行重构操作过程中数据传输过程中的快速传输。

卫星终端安全模块软件重构系统设计与实现