嵌入式操作系统
基于IPSec的嵌入式网络安全应用研究
1 引言
嵌入式网络技术是近几年随着计算机网络技术的普及和发展而发展起来的一项新兴概念和技术,它通过为现有嵌入式系统增加因特网接入能力来扩展其功能,一般指设备通过嵌入式模块而非PC系统直接接入Internet,以Internet为介质实现信息交互的过程,通常又称为非PC接入。嵌入式Internet解决了终端设备的网络化问题,然而Internet提供的网络环境并不保障接入系统的安全性。可以这样说,嵌入式Internet的安全问题直接关系到嵌入式Internet的发展及其应用前景;因此,在开发和使用嵌入式Internet系统的同时,必须把嵌入式Internet通信的安全问题放到重要的地位考虑。
对于保证安全领域的研究可分为两大类:一类是如何保证嵌入式系统自身的安全,使其免病毒、黑客的攻击和人为的破坏,另一类则是如何保证传输信息内容的安全性、保密性,特别是对安全性要求比较高的服务其重要性不言而喻。其中,后者是我们研究的主要对象,目前对其采用的技术主要有IPSec技术、SSL/TLS技术、VPN技术等。本文主要研究IPSec网络安全协议在嵌入式系统中的应用与实现,使嵌入式系统能够对大型高可靠性服务提供全面支持,在保证服务质量的同时,在客户和服务器之间建立安全的网络通道,保证敏感数据的安全。
2 嵌入式网络安全特点及关键技术分析
2.1 嵌入式网络安全特点分析
由于嵌入式自身的设备体积小,资源有限以及功能相对单一的特点,它的网络安全有自身的特点:存储器较小,处理器处理数据能力较差,更容易收到攻击,安全性更脆弱;功能单一,所受到的攻击也是比较单一;存储能力相对较弱,是的一些常驻存储器的病毒较难存在,同时也使得内存消耗的攻击也容易得手;由于各种嵌入式设备功能、设计区别都很大,对某一种设备的攻击对另一种设备就可能变得无效;还有很多的嵌入式设备和上网设备是分离的,大多数网络攻击都能被上网功能过滤掉,这样就使得对嵌入式设备的攻击变得更难。
根据OSI安全体系结构以及对嵌入式Internet特点分析,一个有效的嵌入式安全通信机制必须提供以下安全服务:数据保密性、数据完整性、认证服务、访问控制服务和抗抵赖服务。实现这些安全服务需求,可以采用的安全机制为:加密机制、数字签名机制、访问控制机制、数据完整性机制、鉴别交换机制、业务流填充机制、路由控制机制和公证机制。根据嵌入式Internet系统的安全特点,这里提出的安全机制的制定主要从下面两个方面来考虑:
(1)实现安全机制的网络层次TCP/IP参考模型是一个四层网络协议系统,各种安全机制并不都可应用在任意一层。针对嵌入式Internet的安全服务,也可以参考四层协议系统进行规划,应该在合适的层次来实现;(2)基于密码学理论的安全机制基于密码学理论,嵌入式网络技术可以使用以下几种算法实现数据保密性和完整性服务:使用对称密钥体制或非对称密钥体制,实现数据保密性服务;使用单向散列函数等方法实现数据完整性服务。
在嵌入式网络中,可以选用以上合适的密码协议和算法,实现预期的安全服务要求。
2.2 关键技术分析
IPSec有两种工作方式:隧道模式和传输模式。在隧道方式中,整个用户的IP数据包被用来计算ESP包头,整个IP包被加密并和ESP包头一起被封装在一个新的IP包内。这样当数据在Internet上传送时,真正的源地址和目的地址被隐藏起来。在传输模式中,只有高层协议(TCP、UDP、ICMP 等)及数据进行加密。在这种模式下,源地址、目的地址以及所有IP包头的内容都不加密。VPN具体实现是采用隧道技术,而隧道是通过隧道协议实现的,隧道协议规定了隧道的建立,维护和删除规则以及怎样将企业网的数据封装在隧道中进行传输。隧道协议可分为第二层隧道协议PPTP、L2F、L2TP和第三层隧道协议IPsec等。对于IPSec安全隧道IPSec协议把多种安全技术集合到一起,可以建立一个安全、可靠的隧道。 这些技术包括DiffieHellman 密钥交换技术,DES、RC4、IDEA 数据加密技术,哈希散列算法HMAC、MD5、SHA,数字签名技术等。
1 引言
嵌入式网络技术是近几年随着计算机网络技术的普及和发展而发展起来的一项新兴概念和技术,它通过为现有嵌入式系统增加因特网接入能力来扩展其功能,一般指设备通过嵌入式模块而非PC系统直接接入Internet,以Internet为介质实现信息交互的过程,通常又称为非PC接入。嵌入式Internet解决了终端设备的网络化问题,然而Internet提供的网络环境并不保障接入系统的安全性。可以这样说,嵌入式Internet的安全问题直接关系到嵌入式Internet的发展及其应用前景;因此,在开发和使用嵌入式Internet系统的同时,必须把嵌入式Internet通信的安全问题放到重要的地位考虑。
对于保证安全领域的研究可分为两大类:一类是如何保证嵌入式系统自身的安全,使其免病毒、黑客的攻击和人为的破坏,另一类则是如何保证传输信息内容的安全性、保密性,特别是对安全性要求比较高的服务其重要性不言而喻。其中,后者是我们研究的主要对象,目前对其采用的技术主要有IPSec技术、SSL/TLS技术、VPN技术等。本文主要研究IPSec网络安全协议在嵌入式系统中的应用与实现,使嵌入式系统能够对大型高可靠性服务提供全面支持,在保证服务质量的同时,在客户和服务器之间建立安全的网络通道,保证敏感数据的安全。
2 嵌入式网络安全特点及关键技术分析
2.1 嵌入式网络安全特点分析
由于嵌入式自身的设备体积小,资源有限以及功能相对单一的特点,它的网络安全有自身的特点:存储器较小,处理器处理数据能力较差,更容易收到攻击,安全性更脆弱;功能单一,所受到的攻击也是比较单一;存储能力相对较弱,是的一些常驻存储器的病毒较难存在,同时也使得内存消耗的攻击也容易得手;由于各种嵌入式设备功能、设计区别都很大,对某一种设备的攻击对另一种设备就可能变得无效;还有很多的嵌入式设备和上网设备是分离的,大多数网络攻击都能被上网功能过滤掉,这样就使得对嵌入式设备的攻击变得更难。
根据OSI安全体系结构以及对嵌入式Internet特点分析,一个有效的嵌入式安全通信机制必须提供以下安全服务:数据保密性、数据完整性、认证服务、访问控制服务和抗抵赖服务。实现这些安全服务需求,可以采用的安全机制为:加密机制、数字签名机制、访问控制机制、数据完整性机制、鉴别交换机制、业务流填充机制、路由控制机制和公证机制。根据嵌入式Internet系统的安全特点,这里提出的安全机制的制定主要从下面两个方面来考虑:
(1)实现安全机制的网络层次TCP/IP参考模型是一个四层网络协议系统,各种安全机制并不都可应用在任意一层。针对嵌入式Internet的安全服务,也可以参考四层协议系统进行规划,应该在合适的层次来实现;(2)基于密码学理论的安全机制基于密码学理论,嵌入式网络技术可以使用以下几种算法实现数据保密性和完整性服务:使用对称密钥体制或非对称密钥体制,实现数据保密性服务;使用单向散列函数等方法实现数据完整性服务。
在嵌入式网络中,可以选用以上合适的密码协议和算法,实现预期的安全服务要求。
2.2 关键技术分析
IPSec有两种工作方式:隧道模式和传输模式。在隧道方式中,整个用户的IP数据包被用来计算ESP包头,整个IP包被加密并和ESP包头一起被封装在一个新的IP包内。这样当数据在Internet上传送时,真正的源地址和目的地址被隐藏起来。在传输模式中,只有高层协议(TCP、UDP、ICMP 等)及数据进行加密。在这种模式下,源地址、目的地址以及所有IP包头的内容都不加密。VPN具体实现是采用隧道技术,而隧道是通过隧道协议实现的,隧道协议规定了隧道的建立,维护和删除规则以及怎样将企业网的数据封装在隧道中进行传输。隧道协议可分为第二层隧道协议PPTP、L2F、L2TP和第三层隧道协议IPsec等。对于IPSec安全隧道IPSec协议把多种安全技术集合到一起,可以建立一个安全、可靠的隧道。 这些技术包括DiffieHellman 密钥交换技术,DES、RC4、IDEA 数据加密技术,哈希散列算法HMAC、MD5、SHA,数字签名技术等。
在计算机网络里进行认证的目的就是为了在进行网络连线时,确保对方的身份。在此,以下列举了一些网络上的可能发生的情况以说明为什么在网络上有需要作认证的需求:假冒(Masquerade)、重送(Replay)、修改内容(Content modification)、修改次序(Sequence modification)、否认(Repudiation)。其中,在我们的系统中我们主要使用了Kerberos协议,它是一个三方认证协议,根据称为密匙分配中心(KDC)的第三方服务中心来验证网络中计算机相互的身份,并建立密匙以保证计算机间安全连接KDC有两个部分组成:认证服务器AS和票据授权服务器TGS。Kerberos是一种网络认证协议,允许一台计算机通过交换加密消息在整个非安全网络上与另一台计算机互相证明身份。一旦身份得到验证,Kerberos协议将会给这两台计算机提供密匙,以进行安全通讯对话。
3 新型系统体系设计实现
3.1 实现层次
首先确定安全协议的实现层次,对各种机制实现方法作深入分析,比较它们的不同实现方法和不同安全特点,设计一个适合嵌入式Internet设备进行网络通信的安全模型。链路层主要采用划分VLAN、链路加密通信等手段保证通过网络链路传送数据的机密性、数据完整性等。基于链路层加密与应用程序无关,实现简单,可用硬件设备进行加密,提供较高的处理速度。缺点是两个加密参与的实体必须在物理形式上连接在一起,即不能实现对不同进程进行不同的加密处理。网络层安全性的主要优点是安全服务的提供与应用层的无关性,而且由于多种传输协议和应用程序可以共享由网络层提供的密钥管理框架,使得密钥协商的数量也大大削减。网络层安全业务最有用的特性是能够构建VPN。网络层加密的主要缺点是:对属于不同进程和相应条例的数据包一般不作区别。对所有发往同一地址的包,它将按照同样的加密密钥和访问控制策略来处理。同网络层安全机制相比,传输层安全机制的主要优点是它提供对进程的安全服务。传输层安全机制的主要缺点是要对传输层进程间通信接口和应用程序两端都进行修改;另外,由于SSL和TLS都是建立在TCP协议上的,因此对于UDP的安全通信就无法保证。在应用层实施加密是最具强制性的选择。它也是最具灵活性,因为保护的范围和力度可以裁剪到满足某一应用的特定需要。这一点正符合嵌入式Internet设备灵活多变的应用的需求。应用层的安全可以弥补下层协议漏洞和不足,可以采用多种多样的安全措施来保证系统的安全性。除了采用一些针对应用层协议的安全方案外,其他例如身份认证、数据加密、数字签名等都可以在应用层进行。应用层提供安全服务的优点在于不用考虑网络采用的具体协议和链路情况,同时由于应用程序以用户为背景执行,容易获得用户访问凭据,而且对用户想保护的数据具有完整的访问权并有着充分的理解,这些特性使得在应用层引入安全业务具有特定的优势。在应用程序中实施安全机制,程序要和一个特殊的系统集成到一起,应用程序通过改进调用该特殊系统实现安全机制。
基于以上比较,为了在嵌入式Internet接入设备和访问者之间建立起有效的,具有更强大的适应性和安全性的安全通信机制,选择应用层作为实现层次,以保证设备访问者与嵌入式设备间通信的信息安全。
3.2 设计实现
在计算机OSI/RM扩展部分,安全体系结构(Security Architecture)是指对网络系统安全功能的抽象描述,一般从整体上定义网络系统所提供的安全服务和安全机制。一个完整的网络安全框架结构对于网络安全概念的理解、网络系统的安全设计与实现都有重要意义,从另一个意义来说,计算机网络安全框架结构也不完全适合嵌入式系统,笔者从嵌入式系统的实际应用的角度考虑,分析了网络安全功能需求,给出了描述计算机网络安全体系结构结构。
IPSec在网络层提供加密和认证服务,IPSec能够保护所有的IP流量。IPSec的安全策略允许用户更加灵活的安全策略的控制。所以,这里以IPSec为基础,融防火墙技术于一体的,建立在IP层的新的嵌人式系统的安全机制。该机制主要特点如下:①它根据分组报的源、宿地址,端口号及协议类型、标志确定是否允许分组报通过;②根据安全策略的安全规则,对输人、输出的数据施行加/解密、认证、数字签名、完整性校验等安全措施,保证数据传输中的安全; ③支持虚拟专用网,支持企业内部网络技术体系VPN。具体实现如图1所示。
SPD库和SADB库的查询效率时影响本系统性能的一个重要因素。特别是在象家庭网关这样的设备中,实现安全机制的网关要为多个嵌入式设备提供转发IP分组,对于每个分组都要在SPD库查找相应的安全策略,在SADB库中查找相应的SA,因此可能会成为整个因素的瓶颈。为了解决这个问题,首先必须考虑到数据库的存储结构。注意到对于SA来说,协议、SPI、目的地址三要素唯一确定一个SA,我们用(目的地址十SPI+协议)作为查询条件。对于这样的条件,用HSAH查询:(目的地址+SPI+协议)Mod HASH表宽度作为哈希关键字可能会提高性能,所以决定使用HASH表结构。对于SPD,考虑到这样情况:分组传送是连续的,所以在内存内使用缓存技术来保存最近使用的安全策略,从而避免频繁的SPD库查询过程可能会提高系统性能。
4.2 结果分析
(1) 系统的可扩展性能:
测试的参数是吞吐量和平均延迟时间。实验目的是测试在机器台数增加时系统的可扩展性能。实验的数据结果如图5-1和5-2所示。
实验结果证明该方案具有良好的可扩展性。性能提升的主要原因归于系统采用了基于IPSec的架构,并且对安全策略库进行了优化,因为SPD和SADB库的查询效率是影响本系统性能的一个重要因素。特别是像家庭网关这样的设备中,实现安全机制的网关要为多个嵌人式设备提供转发IP分组,对于每个分组都要在SPD库查找相应的SA,因此可能成为整个因素的瓶颈。为了解决这个问题,首先必须考虑到数据库的存储结构。采用安全策略库和Cache表来解决。
(2) 系统的安全性能:
加密的网络信息保证了信息内容的机密性。大多数加密方一法也需要授权和数据完整的服务。加密技术可以分成二个大类:消息摘要、对称密钥密码系统和不对称公开密钥密码系统。特别我们的密码经过MD5算法加密以后,保证了它的安全性。
MD5的设计是面向32比特字的,MD5计算出的信息摘录长度为128比特,用4个字表示,分别记为d0,d1,d2,d3,在计算开始时被分别初始化为常数:
d0 =01234567H,d1 =89abcdefH,d2 =fedcba98H,d3=76543210H
输入的信息被分成512比特的等长块,逐块处理。每块包含16个字,分别记为m0,m1,⋯,m15。每块的处理分四遍扫描,对每一遍扫描中的每一个字都使用不同的常数,共64个,用T1,T2,⋯,T64来表示,其中:Ti=[232 | sin ( i ) | ]。输入的信息应是512比特的倍数,其填充方式,填充位的第一个比特为1,随后的填充位都为0;即使原来的信息已是512比特的倍数,也要进行填充。所以填充位的最小长度为1比特,最大长度为512比特。
实验证明运行基于IPSec和SSL协议的嵌入式系统具有良好的可扩展性和安全性能。
4 结束语
基于网络的嵌入式系统安全性是当今一大研究热点,对该领域的研究既具有很强的理论意义又具备很高的现实意义。嵌入式系统只有在对安全性协议提供很好支持的情况下,才能真正发挥其巨大价值,才能对大型高可靠性服务提供全面支持。
全部0条评论
快来发表一下你的评论吧 !