【 摘 要 】 现有的ipsec/ssl vpn和数据空中加密等数据通信安全保护技术主要依赖密钥和其他的安全参数。而如何保护密钥等的安全,成为数据通信保护的技术突破点。本文结合在实际的工作中的嵌入式系统常见的被攻击类型,提出在嵌入式系统中运用安全引导技术、敏感安全参数(ssp)和数据存储技术以及边界接口保护技术加强对数据通信安全的保护,以此提高通信运营商的服务质量。
【 关键词 】 嵌入系统;数据通信;安全
1 引言
随着数据通信技术的发展,数据通信的量也在不断的增大。而随着原来的密钥安全技术、vpn等安全技术的应用,也越来越被攻击者利用。而攻击者利用密钥等获取个人信息和数据,同时对精通数据的攻击者通过在系统中安装代码,采集敏感信息和数据,或者获取其他的安全参数,或使得操作系统异常等,将对数据通信的安全构成重大的威胁。这就需要数据通信的提供这在保障数据安全的同时,也要保障密钥以及相关参数的安全。
2 安全环境边界
安全边境边界的不同,系统选用的保护类型也就有所不同。安全环境边界是指在对系统进行开发设计时,给系统进行的连续界限定义,其主要用在为模块建立一定范围的物理边缘,在这边缘内,包含所有安全参数的操作。同时支持在这范围内的所有的硬件和固件以及软件。我们常见的安全边界是将整个系统全部包含在内,也可定义更加紧凑的边界。
3 嵌入式系统面临的安全问题和类型
3.1 嵌入式系统面临的安全问题
嵌入式系统作为一个特殊的安全系统,其在面临常见的计算机安全问题之外,还包含一些特殊的安全漏洞。而系统面临的危险主要包含两类。
(1) 个体安全 发生个体安全主要是首先由不安全的环境下进行操作造成。嵌入式设备具有体积小,便于携带等特点,常常在野外进行作业,这样就容易被攻击者恶意进行窃取,从而导致数据通信设备受到破坏;其次是由用户下载运行未经过授权的软件造成。通过这些软件可能带来恶意软件的安装,同时携带恶意的代码,导致嵌入式系统受损。
(2)群体安全 对于不安全的网络通信环境中,无线通信更容易受到攻击者的监听,且对于结构简单的硬件设施更容易受到攻击者分析出有效的信息。而在生产的环节,设备生产厂商为缩短硬件的设计的周期,往往采用装配的方法进行,从而忽视了设备整体的安全性设计,导致存在安全的隐患。
3.2 攻击的类型
从数据通信安全的角度,系统攻击可分为完整性、机密性和可用性三个主要的类别。从攻击的层次又可分为两个方面:首先为系统结构安全层次,这主要包括物理、软件与旁路三种类型的攻击;其次为通信安全层次,主要包含有信道的监听以及消息篡改等。其具体的示意图如图1所示。
4 数据通信安全保护技术应用
要保证嵌入式系统的安全,保证上述不同的攻击类型得到有效的控制,以此保证数据通信的完整性、机密性以及可用性,就必须通过安全引导技术、数据存储及敏感安全信息技术和边界接口保护技术加强对数据通信的保护。
4.1 安全引导
安全引导是指对系统提供软件和配置的完整性检查与认证的一个过程。在处理器允许软件的镜像或者是配置运行之前,应先对镜像做全面检查,以确保镜像在系统制造商提供之前未被修改并被创建。安全引导主要的过程包含两个方面:(1)利用加密的散列函数来确保系统的完整性;(2)喜用公共的密钥加密来为镜像做数字的签名。
系统制造商在嵌入系统设备中留有私钥,而仅仅将公钥作为硬件可信根的一部分提供给系统。这就要求必须提供系统的私钥才能在系统上运行,而对于使用的公钥加密的技术,即便在攻击者得到公钥的密码,也不会给系统带来风险。
除上述的对镜像的完整性检查与认证之外,制造商还通过设定权限删除不安全的旧软件,以此保护系统的数据通信安全。在系统中,往往通过安全引导设定版本的接受程度,对当前和最低配置的软件进行比较,对版本过低的软件进行删除,同时使用现在较高版本的软件,以此通过不断的更新,保障嵌入式系统的数据通信的安全。
系统开发商同时给软件提供保密性,防止开发商的软件知识产权被克隆。而通过安全的引导技术,可有效地防止竞争的对手通过购买等方式制造出同类似的产品。软件的镜像在被存储到板载闪存以前会进行事先的加密和实施完
性保护,在数据通信的传输的时候也如此。
安全引导的流程中还包含解密的操作,同时作为镜像认证的一个部分。密钥块作为安全引导的组成,是一种加密的密钥存储的结构,其主要的作用是当加密密钥处在系统规定安全边界之外的时候对其进行保护。一旦密钥块处在安全边界规定的范围之内,则自动对密钥块进行解密,而当在安全边界之外时,则自动断开,不提供任何的资源。
在安全引导中,通常会涉及多个不同的引导的阶段,如图2所示。安全引导则严重依赖于对初始引导加载程序。而为了满足要求,处理器则必须使用第一级的引导代码,这个代码主要存储在rom中。初始的引导代码通过对下一引导阶段中完整性的检查和硬件可信根的认证,cpu则会立马执行潜在的解密的代码。这整个的过程会根据需要反复地进行,这样就会在系统中创建一个“信任链”,通过软件和相关配置文件的层叠,保护和确保安全性。
3.2 敏感安全参数(ssp)与数据存储
ssp主要是指包含短期密钥和在不需电源重启后保留的安全参数,其中的安全参数包含关键安全参数和公共安全参数。而所谓的安全参数是指任何与安全有关的机密的信息(如口令、pin码、加密私钥等),这些信息一旦泄露就会损坏这个加密模板;公共安全参数是指与安全有关的任何公共信息,这些信息被修改也同样会损害加密的模板。而不管怎样区分,都必须对关键的数据进行保护。
一旦安全引导完成,就会产生需保护的短期数据。不管这些数据是存储在边界之外还是存储在边界之内,都必须以某种加密的技术对其进行保护。而加强对ssp的保护,主要采用几种方法。 (1) 内部安全存储器。这种方法不在dram中进行外部的缓存,而采用小型的sram,该存储器可储存少量的数据,无法进行大量的数据存储。
(2) 缓存加锁。通过在dram或者是数据缓存上制定范围,防止存储在这个范围内的数据被写到外部去。这样的结果是将缓存加锁的部分放在ram中。而缓存加锁在任意一级均可实现,但对处理器的系统进行缓存是最好的。如通过处理器系统,可将其中的1级缓存扩大128~256倍。而使用缓存加锁的优势主要体现在加锁的范围比专门的安全存储器容量更大;其次是可锁定片上的安全数据与指令,如为防止关键的代码的暴露,通过安全引导,通过缓存加锁,避免了因为直接存放在dram,以明文的方式暴露关键数据。但是缓存加锁适用于少量数据的存储,过度则会导致系统性能的下降。
(3) 为存往dram中的数据加密。通过这种方法,可使得其更具有扩展性,因为在这中间不存在缓存加锁等带来的大小限制。这主要采用两种方案:一种是通过“确切”的方法找出其中的敏感数据,同时给这些数据进行加密;另外一种是通过可覆盖的大量数据的优秀技术,将其用于整个dram段,在对这整段进行加密,从而保障数据通。
3.3 边界接口保护
对外界接口进行保护,就需要将每个接口考虑在内,以此评估其中的哪些数据可直接访问,那些数据可通过接口间接访问。这个接口可以是网络的接口(如太网),同时也可以是外设的接口(如uart或pci-e总线),也可以为调试接口(如jtag)与测试接口(如扫描)。必须通过适当的控制方法来对敏感数据的访问进行控制,如存储器保护单元、外设资产保护、扫描保护以及安全调试等方法。
通过存储器保护单元的方法主要保护存储区域不被非安全的总线主控器与dma控制;外设资产保护的目的是限制访问分配的安全;扫描保护是保证没有相关的敏感数据在扫描中被访问;安全调试是保护比较敏感的信息不被调试的端口访问。
5 结束语
数据通信安全的保护技术是在不断的进步和发展的,任何技术都不可能完全没有缺陷。而要保证数据通信的安全,就必须对技术进行不断的更新和改进,才能保障数据的通信安全。
参考文献
[1] 郇义鹏.基于串口的数据通信安全技术研究[j].国防科学技术大学, 2003-11-01.
[2] 乔加新,马季,段凯宇.基于xml的多方数据通信安全模型研究[j].微计算机信息, 2010-01-25.
[3] 陈中斌.空管设备状态数据通信安全研究 [j].信息安全与通信保密, 2010-11-10.
作者简介:
王晓蒙(1973-),男,山东梁山人,大学,山东省济宁市梁山县联通分公司,数据工程师;研究方向:数据通信和数据维护应用。
李东升(1972-),
男,山东梁山人,大学,山东省济宁市梁山县联通分公司,通信工程师;研究方向:数据通信和数据维护应用。