随着应用领域的拓展,嵌入式的应用也体现出了网络化、复杂化和移动化等特点,系统的设计人员也不得不将应用的执行效率、能量消耗特别是系统的安全性纳入主要的考虑范围。下面yjbys小编为大家准备了关于嵌入式实时系统的安全策略的文章,欢迎阅读。
1嵌入式系统简介
从技术的角度来看,嵌入式系统是在计算机技术的基础上通过安装不同的应用模块来实现不同的功能,并具有功能专业性强、可靠性高、体积小等特点的专用计算机系统。从系统的角度来看,嵌入式系统是设计完成的具有特定功能的、将不同硬件和软件紧密耦合在一起的计算机系统。
1.1嵌入式系统的组成
嵌入式系统主要由硬件和软件两部分构成。嵌入式系统的硬件包括嵌入式处理器、存储器以及通用设备接口和I/O接口等外围设备。嵌入式处理器作为嵌入式系统的核心部分,是由微控制器、数字信号处理器、微处理器单元等构成的。嵌入式系统的软件指嵌入式操作系统,是专门针对嵌入式应用的系统软件,其主要功能是分配系统的软、硬件资源,协调调度系统的并发任务,并能够通过装、卸载应用模块来达到系统要求的特定功能并完成特定的任务。嵌入式操作系统在实时性、软件固化性以及应用专用性等方面比PC操作系统更加有优势。常用典型嵌入式系统有嵌入式Linux、VxWorks等。
1.2嵌入式系统的特点
(1)系统内核小。嵌入式系统针对小型电子装置的空间小、资源有限等局限可以实现小内核应用功能,较PC系统内核要小得多。如Enea公司的OSE分布式系统的内核只有5K。
(2)专用性强。软件系统和硬件的紧密结合能让嵌入式系统实现个性化应用,这种结合可以说是一对一的,即使要在同一系列不同硬件上实现系统移植,也要根据硬件的变化和增减重新修改软件系统。同时为实现不同功能也需要对系统进行大的更改,应用程序要和系统相结合,这种修改与通用PC软件升级相比可以说是脱胎换骨。
(3)系统精简。嵌入式系统中的应用软件一般是集成在操作软件上的,其中间没有明显的界线,在功能设计和实现上相对简单,在易于控制成本的同时也避免了系统的安全隐患。
(4)高实时性。高实时性是嵌入式软件的基本要求,在高可靠性的软件代码和固态存储器的支持下,软件的运行速度得以迅速提高。
(5)操作系统可完成多任务运行。嵌入式系统正逐步走向标准化,针对广大客户群体的多任务操作系统是非常必要的。虽然应用程序在没有操作系统的情况下就可以在芯片上运行并实现简单的功能,但在标准化的今天,为满足客户需求,合理调度任务,充分利用系统资源,需要选配及时系统内核以保证软件质量和软件运行的实时性和可靠性。
(6)嵌入式系统具有独立的开发工具和环境。由于嵌入式系统软硬件一对一的结合,在系统设计完成后用户不能对其功能进行修改,且系统本身不具备自我开发的能力,所以嵌入式系统的开发必须基于一套开发工具和环境才能进行。嵌入式系统开发工具和环境通常是利用PC机上的软硬件设备、逻辑分析仪等建立起来的。开发过程中PC作为主机开发系统软件和应用程序,完成后交付目标机(即为嵌入式系统硬件系统)运行并实现应用功能。开发过程是一个不断修改的过程,所以需要主机和目标机交替结合进行。
2嵌入式实时系统的安全策略
安全策略的定义为:在某个安全区域(一系列待处理和连通的资源)内,与安全活动相关的一系列必须遵守的规则。安全规则是由此安全区域中的安全权力机构设立的,系统的软件运行和功能实现受到安全管理规范和法律约束。
2.1安全服务与安全策略设计
对于一个系统来说,工作的过程信息安全是非常重要的。构建安全的系统需要设计者从两个方面来考虑:首先,系统设计人员要全面评估整个系统的安全威胁并分析系统的安全服务需求;然后,选择对系统安全威胁针对性强的安全技术安装到系统中。通用的嵌入式应用系统的安全需求通常分为6 种基本类型,针对不同的安全需求,可以采用不同的算法组合把一些基础的安全服务结合到一起形成成套的系统安全策略。
安全服务是计算机系统的普遍性需求,特别是嵌入式系统的工作通常需要科学、准确的数据信息,因此,嵌入式系统中的安全服务就显得尤为重要。安全服务反映了安全需求的共性,嵌入式系统的主要安全服务需求包括数据加密、完整性保护和认证。
数据加密服务指的是,对要保密的数据或文件按照某些加密算法进行加密处理,使其成为难以识别的文件,只能通过数据创建者的密匙才能打开或者读取,是保证数据私密性的基础。密钥可以根据加密算法的不同分为不同类型,大体分为私钥加密和公钥加密两大类。
完整性保护服务是指文件和信息在传输过程中得到保证,防止入侵者利用虚假信息代替真实信息,如果文件在传输过程中被修改,接收者能够申请验证并得到验证信息。目前,实现完整性保护服务的主要手段是单向散列函数(hash),常用的hash函数包括MD4、MD5和SHA。