张贞桂, 林少锋
(1.西安邮电大学 外国语学院, 陕西 西安 710121; 2.西安通信学院 信息安全系, 陕西 西安 710106)
基于双宿主机架构的嵌入式安全网关设计
张贞桂1, 林少锋2
(1.西安邮电大学 外国语学院, 陕西 西安 710121; 2.西安通信学院 信息安全系, 陕西 西安 710106)
为了规避信息系统在互联网应用中的泄密及网络入侵风险,依据“黑核”体系思想,采用2个S3C6410 ARM处理器作为连接内外网络的独立主机,结合1个EP1C12Q240I7 FPGA器件作为控制内外网连接及原始数据摆渡的中转站,设计一种基于双宿主机架构的信息安全防御网关,断开网络层连接,防范基于TCP/IP协议的网络攻击。将所设计的网关部署于公网,可在隔离外部网络的情况下,构建高密级专用信息系统,提供可信的端到端服务。
端到端加密;网络隔离;嵌入式网关
随着信息技术高速发展,网络环境日趋复杂,木马渗透、病毒入侵等行为直接影响信息安全及系统本身的可靠运行,采用防火墙、虚拟专网、身份认证等安全技术可确保信息的保密性和完整性。
文献[1-2]研究和设计了基于Web的安全网关,精简了网络协议,通过制订安全策略,实现设备安全接入和数据加密,但该类网关主要针对工控网络进行设计,其传输速率较低;文献[3-4]提出了防止IP欺骗的防火墙网关设计方案,具有较高的吞吐量,但防护手段较为单一,不能有效防范口令入侵、WinNuke等其他攻击手段;文献[5]提出了基于IPSec协议的VPN网关实现方式,该类网关融合了防火墙和VPN的优势,广泛应用于企事业信息系统,但仍然是单主机架构设计模式,虽然传输信道较为安全,但由于防火墙本身的安全性都无法完全保证,因此其保护的内部网络仍然存在安全隐患。文献[6]提出一种使用PCI卡和双端口RAM实现网络隔离的设计方案,虽然具有较高的吞吐量,但设计复杂,成本较高。
针对嵌入式安全网关的不足,本文拟根据“黑核”体系思想,将防火墙、VPN、密钥管理与网络隔离技术相结合,设计一种双宿主机架构安全网关,实现内网保护和端到端保密通信,并给出远程视频信息系统点对多点星型网络拓扑组织应用方案。
全球信息栅格的“黑核”体系思想就是“在不可信的网络上传输加密的涉密信息”以达到信息的保密性和完整性[2]。在网络安全模型中,仅考虑数据传输的安全性是不够的,也需要采用相应技术对内网进行防护,保护应用主机系统及原始信息安全。本文设计的嵌入式安全网关安置在内外网络之间,任何可信主机都必须由它与互联网隔离;任何经过它往外传输的数据都需要加密;任何连接都需要根据预先设置的安全规则来审查。从逻辑上看,该安全网关是个网络接入设备;而从工作原理看,它是一个控制内外网连接的过滤器、加密器、隔离器或者监视器。
在安全网关设计中,设计的关键在于如何把外网连接和内网连接从一套操作系统中分离出来。本文采用的双主机架构框图如图1所示。
图1 双宿主机架构
外部网络主机用于连接外部不可信网络,内部网络主机用于连接内部可信网络,而ASIC隔离电路板作为两个主机设备之间的代理,在网络层是断开的基础上,针对互联网协议实现可信和不可信网络之间信息的可控传输。
系统硬件以2片高性能ARM处理器S3C6410作为连接内外网络的主机,并结合FPGA器件EP1C18F4620作为隔离代理构建网络隔离硬件平台。另外,对嵌入式操作系统Linux 3.0.1内核版本进行裁减,开发Netfliter架构防火墙、IPSec VPN C/S程序,以及SHA-256签名/认证、密钥管理和网络隔离等功能模块,实现一体化防护方案。
2.1 硬件设计
系统硬件平台为软件运行的基础,综合性能和成本要求进行器件选型,其设计原理框图如图2所示,为双ARM主机隔离应用模式。
硬件平台主要包括以下功能模块。
(1) ARM处理器模块。双宿主机架构的内外网主机硬件电路相近,主要由S3C6410主处理器、DDR和FLASH、SD数据接口等电路组成,提供JTAG调试接口、2个百兆网口、异步串行接口、外部总线接口等。用于运行精简的操作系统、嵌入式防火墙、FPGA读写驱动及VPN程序。
(2) FPGA逻辑模块。该模块由逻辑器件EP1C18F4620、配置芯片EPSC4和时钟等电路组成,用于完成密钥证书验证、数据签名/认证和原始数据摆渡。
(3) 电源模块。系统外接5V 1A供电电源,通过电源转换芯片,提供ARM11处理器等电子元件所需3.3V、1.8V、1.5V等稳定电源。
硬件平台除了上述3个主要的功能模块,还包括串行接口、网络接口、USB接口等外围电路。
2.2 软件设计
系统包括防火墙、IPSec VPN安全协议、网络隔离和密钥管理等4个主要功能模块。
在双宿主机架构中,外部ARM主机在裁剪的Linux操作系统上加载防火墙过滤数据包,运行VPN加密的数据流;FPGA器件通过开辟两个双端口RAM区摆渡内外网络传输的原始数据包,并进行SHA-256身份验证;内部ARM主机在精简的操作系统上运行FPGA数据读写驱动、Ukey驱动及安全审查;密钥管理用于保证设备接入系统的可控性。
2.2.1 防火墙
为便于嵌入式防火墙的升级和维护,采用Netfilter架构的Iptables规则进行网络访问控制,检查网络数据报文是否被篡改或假冒,确认信息来源是否可靠,避免外部攻击者对内网进行渗透,阻止非法网络数据穿过隔离器,在内网和外网之间构造保护屏障。
防火墙子模块的包过滤规则主要从源IP地址、目的IP地址、源端口、目的端口以及系统服务等方面考虑。常见的网络攻击及防范策略设置如下。
(1) 拒绝服务攻击(SYN Flood)
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
(2) 分布式拒绝服务攻击(DDoS)
分布式拒绝服务攻击通过网络中已控制的众多网络主机同时对目标服务器发起拒绝服务攻击完成攻击任务,威力更加强大,常见的攻击为25、80等SMTP、HTTP常规服务端口。根据攻击原理,可以通过限制客户端与服务器同时连接的时长及个数进行有效防范。Iptables安全过滤规则可以设置为
iptables -A INPUT -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPT
2.2.2 VPN功能
VPN功能子模块的作用是在不可信的网络中通过隧道协议搭建可信的网络子环境,提供信息的加密传输,主要由应用层部分、传输层部分和网络层3部分组成[7],如图3所示。
图3 VPN网关实现原理
应用层的密钥协商模块用于完成身份信息验证、密钥及算法协商等工作,利用通信接口模块与安全策略库/安全关联库(SPD/SAD)管理功能模块进行关键信息交互;另外配置管理模块主要进行密钥参数协商,IPSec安全策略、证书及预共享密钥的管理和配置。
在传输层采用UDP协议为通信接口模块传送数据,解决系统内部的密钥管理员和密钥管理程序之间的信息传送问题,对上接收应用层用户信息,同时可与下层的SPD/SAD进行交互,并可以为用户进程提供消息反馈。
在网络层则运用密码算法模块为AH/ESP处理模块提供DES、AES和RSA等加/解密算法;采用认证报头AH对IP数据包的IP报头与数据载荷提供身份验证、抗重放攻击与完整性校验能力,但不对数据包加密,其完整性选用MD5算法进行校验。技术上AH和ESP都可以通过SA安全关联来保护通信,本文将AH与ESP相结合并应用到系统中以提供更高级别的安全保障;SPD/SAD管理模块用于管理安全关联和安全策略。
易非喜欢曹操,是因为爸爸。爸爸爱饮酒,豪饮高歌,举杯前,他常大声吟咏:“何以解忧?唯有杜康!”当时还真有叫杜康的酒,可是几十年过去了,这酒却也跟着爸爸一起烟消云散了。
针对当前大部分IPSec VPN产品不支持NAT穿透以及断线重连等问题,在VPN开源OpenSwan平台上为IPSec VPN添加NAT穿透功能(NAT-T),使得IPSec VPN可穿透代理设备;通过对安全隧道进行“定时监测”,及时发现网络通信问题并进行修复,加强了物理连接断开重连后隧道的自恢复功能,一定程度上提高了系统的适用性和可靠性。
2.2.3 网络隔离子模块
网络隔离模块需要FPGA和内外网ARM处理器配合工作,主要通过在FPGA中设置双向RAM独立缓存对进出内外网的高速数据摆渡[8]、密钥合成和数据签名/认证。图4为基于双通道实时开关的网络隔离功能模块实现原理框图。
图4 网络隔离功能模块原理
外网通信控制器A机连接不可信网,负责建立IPSec VPN端到端的安全隧道,同时启用嵌入式防火墙过滤不符合规则的数据包;内网通信控制器B机连接可信网,对所有传输到外部网络的数据进行严格审查,包括用户及其访问权限和内容审查,防止内部重要信息的泄漏,实现了内外网络的逻辑隔离[9];中转FPGA划分出2块独立的RAM区,使进出的数据流相互隔离,并采用专用通信协议将用户数据以总线方式和内外网通信控制器ARM11进行实时数据摆渡。
当内网有数据向外发送时,内网ARM剥离TCP/IP协议,将原始数据写入FPGA的A区RAM,FPGA接到写入完毕信号后读取该区数据送给SHA-256模块进行签名运算,再将此数据覆盖A区,断开内网连接,通过邮箱机制通知外网ARM读取数据,实现高速数据摆渡。反之,外网发往内网的数据采用B区RAM进行数据摆渡,区别在于SHA-256算法运算模块需要对摆渡的数据进行验证,通过则发往内网,否则丢弃。其逻辑电路设计必须满足ARM外部存储器设备读写时序要求,并定义握手信号。其具体电路设计包含16位数据总线、10位地址总线、写使能、读使能、输出使能、忙信号指示、片选、高8位输入/输出控制、低8位输入/输出控制、数据包就绪中断通知、数据包读完标志、数据包写完标志(邮箱地址)、时钟等信号的连接。
时序仿真结果表明,在132 MHz时钟及16位数据总线并行处理条件下,FPGA隔离器件经过数据存、取、拆、判、算、转5级流水处理,其吞吐量较大,但受ARM外设分时访问机制的影响,设备总体吞吐量将低于50 Mb/s。
2.2.4 密钥管理模块
网关是信息系统的可信接入关键节点,需要进行授权管理。常规方法是采用Ukey证书认证的方式进行授权管理。考虑到Ukey证书被复制或遗失带来隐患,系统采用分离式密钥管理机制对证书进行保护,如图5所示。
图5 分离存储密钥管理机制
系统工作时,双宿主机系统的内网ARM读取证书B并通过串行方式发送给FPGA,同时与FPGA读取EPCS4中的证书A进行异或运算,生成系统实际使用的密钥证书,然后经过SHA-256算法模块进行认证。认证成功后,开启FPGA的数据摆渡通道;反之,则等待下一次认证。其中,证书A通过Ukey专用驱动写入Ukey存储器,通过设置UKey的PIN码进行保护;证书B通过专用软件写入FPGA的EPCS4配置芯片,隐藏在可执行的二进制配置文件中。
这两个不相关的证书由“隔离机证书管理中心”软件进行集中管理,如图6所示。软件包括随机数种子生成、中心节点管理、外部节点管理、数据库维护、用户管理和软件说明6个模块,其中随机数种子生成模块用于随机化密钥证书源,节点管理提供了密钥的写入、重置和销毁等功能。添加外部节点时可以设置节点网段号、部署的洲际和地区等证书相关信息,软件自动将密钥证书源分离为证书A与证书B,并记录在数据库中。这种分离式密钥证书管理方式虽然较为复杂,但可解决因UKey或网关主体设备丢失导致节点密钥证书泄露以影响系统可信接入的安全问题。
图6 证书管理界面
依据“黑核”体系思想,将基于双主机架构的安全网关部署于网络边缘作为远程视频信息系统的接入点,用于隔离可信网络和不可信网络,通过WAN建立安全隧道进行信息安全交互,在网络安全与信息共享间实现均衡。拓扑结构如图7所示。
图7 系统应用拓扑结构
图7中,可信网络中的接入中心由可视电话、IP加密机、Ukey、IPSec VPN服务器,多端口交换机和安全网关组成,其中IPSec VPN服务器用于建立和维护与客户端多条并发的虚拟加密隧道,实现接入中心视音频业务的授权接入;而客户端可信网络部署则较为简单,仅需要安装安全网关、IP加密机及相应终端设备。
该系统中,由于安全网关采用双主机架构设计方式,即使因为防火墙本身的缺陷,黑客入侵了外部ARM主机系统,它也无法利用网络协议漏洞通过FPGA隔离器原始数据摆渡渗透内部网络,从而保护了远程视频信息系统的安全。
通过wireshark抓包分析和TransFile软件分别对网络攻击和吞吐量进行简易测试,结果表明该网关能抵御DDoS攻击、IP地址欺骗和口令破解等网络入侵;其网络吞吐量为32.5Mb/s,能满足一般视频通信要求,也适用于面向连接的文件资料传输。
设计并实现了一种基于双宿主机架构的安全网关。测试结果表明,设计可行,且部署方便,支持应用透明,但由于数据包安全审查、认证和加密等信息处理,对传输速率有一定影响,需要在后续研究中进行改进。
[1] 卢伟. 无线传感网的嵌入式Web服务器网关设计[D].武汉:武汉科技大学,2012: 39-53.
[2] 韩立毛,赵跃华,杜云海.嵌入式Web网关系统的安全研究与设计[J].计算机安全,2010(2):55-57.
[3] 胡颖群.基于Linux平台防止IP欺骗的SYN攻击防火墙的设计与实现[J].计算机测量与控制,2013(7):1880-1884.
[4] 秦拯,欧露,张大方.高吞吐量协作防火墙的双向去冗余方法[J].湖南大学学报,2013,40(1):93-97.
[5] 王志刚,石颖.基于IPSec协议的VPN安全网关设计[J].计算机工程,2009,35(17):146-151.
[6] 高占元.一种基于双端口RAM的隔离卡装置:中国,200920131570[P].2010-08-18.
[7] Liu A X, Gouda M G. Complete redundancy removal for packet classifiers in TCAMs[J]. IEEE Transactions on Parallel and Distributed Systems,2010,21(4):424-437.
[8] 唐斌.基于FPGA的双端口视频缓冲器设计[J].液晶与显示,2014,29(4):1575-1579.
[9] 刘翔宇,白瑞.外部中断控制器的设计与实现[J].西安邮电学院学报,2010,15(3):80-84.
[责任编辑:瑞金]
Design of a secure gateway based on double-homed structure
ZHANG Zhengui1, LIN Shaofeng2
(1. School of Foreign Languages, Xi’an University of Posts and Telecommunications, Xi’an 710121, China;2. Department of Information Security, Xi’an Communications Institute, Xi’an 710106, China)
A secure gateway based on double host architecture is designed according to the idea of black core system to tackle at leakage and intrusion risk of the information system in the internet application. This device of framework disconnects the network layer and can prevent network attacks based on TCP/IP protocol. In the design, two ARM processor S3C6410 is applied as independent host of the internal and external network, and FPGA device EP1C12Q240I7 is used to control internal and external network connections and original data of the ferry station. Through the deployment of the gateway in the public network, external network can be isolated and the high level of special information system can be constructed for providing trusted end-to-end services.
end-to-end encryption, network isolation, embedded gateway
10.13682/j.issn.2095-6533.2015.04.005
2015-05-10
陕西省自然科学基础研究计划资助项目(2014JM2- 6097)
张贞桂(1981- ),女,硕士,讲师,从事通信类专业英语研究。E-mail: zhangzhengui99@163.com 林少锋(1978- ),男,硕士,讲师,从事网络安全研究。E-mail:448537556@qq.com
TN915.08
A
2095-6533(2015)04-0023-06