APP下载

国产嵌入式安全操作系统技术

2019-08-01林森游夏

数字技术与应用 2019年4期

林森游夏

摘要:为解决嵌入式操作系统的安全问题,针对通信、存储、访问等安全要求,本文提出了可信链架构技术,通过实现安全网络协议栈、安全文件系统、安全SHELL,构建系统可信度量链,提供用户身份授权验证,使嵌入式操作系统具备安全访问控制能力。

关键词:可信链;安全网络协议栈;安全文件系统;安全SHELL

中图分类号:TP368 文献标识码:A 文章编号:1007-9416(2019)04-0195-02

1 嵌入式系统安全需求

随着“棱镜门”等威胁我国信息安全事件的不断出现,信息安全问题越来越需要得到重视。黑客主要利用计算机操作系统的安全漏洞获取系统特权,然后为所欲为。嵌入式操作系统是嵌入式系统的核心,也是系统信息安全的重要保障,如果缺乏这个安全的根基,构建在操作系统上的应用系统以及整个嵌入式系统的安全性将得不到根本保障,因此提高嵌入式操作性系统的可靠性、安全性是非常有必要的[1]。传统的嵌入式操作系统安全技术将操作系统所有安全相关功能集中在安全核心[2],但安全核心的开发使得操作系统内核变得更加庞大,导致无法对内核通过较高安全等级的安全评估和认证,也无法确保加密处理应用的真实安全性。

本文中,国产嵌入式操作系统通过建立基于国产可信芯片的可信验证链,并对系统的网络通信能力、数据存储能力、用户访问机制等进行安全增强,形成嵌入式操作系统安全能力。

2 操作系統安全设计

为满足嵌入式操作系统在安全领域的特征需求[3],在现有国产嵌入式实时操作系统产品基础之上对操作系统关键服务进行安全改造,增加基于可信芯片的安全增强组件,并对网络、存储、访问接口等系统组件进行安全加固,形成国产嵌入式安全操作系统方案。

操作系统安全改造主要由可信芯片驱动、可信软件栈、安全网络协议栈、安全文件系统、安全SHELL等组件构成。其中可信协议栈、可信芯片驱动构成了操作系统的安全增强模块,是整个操作系统安全设计所需的加解密服务的核心所在。嵌入式安全操作系统的系统结构如图1所示。

2.1 安全增强组件

针对嵌入式系统的安全引导和安全管控功能要求,嵌入式系统通过增加可信安全组件,具体由可信芯片驱动和可信软件协议构成。可信芯片驱动提供与可信芯片交互的通路,可信芯片以字符设备模式提供系统访问接口,配套的上层可信软件协议通过标准POSIX I/O接口访问可信芯片,可信软件协议可以提供授权、验证、加解密等功能对外接口,也可提供软件加解密服务。

基于可信芯片和可信软件协议,可以实现嵌入式系统的可信引导功能。采用可信固件[4],从上电引导逻辑开始构建和传递信任链。与普通固件不同,可信固件受到可信平台控制模块(Trust Platform Control Module,简称TPCM)[5]的保护,并通过TPCM完成软硬件度量、身份认证、数据加密的功能。在上电开机后,TPCM将先于嵌入式CPU启动,首先对可信固件进行验证,确保可信固件本身的安全性。在此基础上可信固件将调用TPCM提供的安全功能接口,对用户的身份、操作系统镜像进行安全验证,保证计算机的安全启动运行环境,将信任链从上电过程延伸到安全嵌入式操作系统运行过程。

2.2 安全网络协议栈

网络的基础核心是TCP/IP协议栈,是一切网络通信的基础,是所有网络攻击的通道,它的安全是一切网络安全防御的前提。嵌入式操作系统通过在现有以太网协议栈基础上,扩展移植IPSec[6]实现TCP/IP安全网络协议栈,形成一个自主可控嵌入式网络安全协议栈软件。在嵌入式安全应用场景中,发送IP数据包之前,实现对IP包的一些重要部分进行加密和验证计算,由接收端对这部分进行解密和验证,为IP网络通信提供透明的安全服务,保护IP数据包安全,避免TCP/IP通信免遭窃听和篡改,并为地域网络攻击提供防护措施,实现嵌入式网络应用的安全通信。安全网络协议栈的实现如图2所示。

IPSec安全协议栈在IP层对IP报文提供安全服务,以数据包为处理对象,在IP数据包中增加字段来保证IP包的完整性、私有性和真实性,以及如何加密数据包,保障嵌入式系统数据就可以安全地在公网上传输。IPSec协议属于两个节点间网络安全通信的标准架构,通过对每个IP报文进行加密和认证来实现。IPSec发送方在通过网络传输包前对包进行加密保证数据机密性;IPSec接收方对发送方发送来的包进行认证,以确保数据在传输过程中没有被篡改保证数据完整性;IPSec接收方对IPSec包的源地址进行认证提供数据来源认证;IPSec接收方可检测并拒绝接收过时或重复的报文具备反重放能力。

2.3 安全文件系统

嵌入式操作系统的文件系统难以提供安全可靠的数据存储服务。通过对文件系统进行安全加固,采用文件系统加密模式[7]进行文件读写访问,并为了保持原有应用的兼容性,在应用层保持原有的文件访问接口。安全文件系统对存储设备的读写情况如图3所示。

安全文件系统在读写文件过程中调用加解密服务。加解密服务采用的加密算法主要有对称密钥与非对称密钥两种类型,根据两种算法类型的特点的不同,其应用场景也不尽相同。对称加密算法主要应用于文件系统的大数据块的加密,因为一般的对称数据加密算法的特点就是加密解密速度快,吞吐量大,而且易于硬件实现。而非对称数据加密算法的特点是加密算法的安全性能高,但是加密解密算法计算量特别大,应用在加解密算法所使用的密钥本身的安全访问。

2.4 安全SHELL

嵌入式操作系统通常提供普通SHELL作为系统访问调度的接口,不具备用户身份验证和加载目标确认的能力。通过对现有SHELL进行安全改造,通过在网络中创建安全隧道来实现安全SHELL(客户端与服务器之间的连接,保障用户对嵌入式系统的可信安全访问。

嵌入式安全操作系统的不同用户通过不同的安全SHELL(Security Shell,简称SSH)[8]隧道连入到系统中。访问控制会根据不同的用户实现不同的用户。SSH客户端和SSH服务端通过四步来完成用户的登陆过程:首先客户端初始化连接,其次服务器发送认证所用公钥,等客户端和服务端商议后建立安全通信隧道,最后客户端登陆成功接入系统。用户接入系统之后,访问控制模块会加载安全策略配置信息,根据用户不同身份,开放系统和文件不同的访问权限,以及提供相应权限的系统服务。

3 嵌入式安全操作系统能力

通过安全增强,嵌入式安全操作系统具备了系统级信息安全防护能力,能够安全可信启动系统,能提供与授权用户的交互,能提供数据安全存储访问和远程网络安全通信能力。本文设计的嵌入式安全操作系统已经在车载嵌入式终端、通信电台终端得到应用验证。

参考文献

[1] 刘智勇.嵌入式操作系统安全保障技术研究[J].农村经济与科技,2018,29(8):271-273.

[2] 高洪涛.四级安全操作系统中审计系统的研究与设计[D].浙江大学,2005(3).

[3] 杨朋霖.物联网环境下嵌入式操作系统的安全性设计[J].微电子学与计算机,2018,35(11):115-117.

[4] 高丽.嵌入式操作系统的安全构建[J].电脑学习,2010(1):28-29.

[5] 黄坚会.TPCM可信平台度量及控制设计[J].信息安全研究,2017,3(4):310-312.

[6] 阮俊杰.一种基于Linux内核的IPsec协议栈设计[J].软件,2019,40(1):33-35.

[7] 吕佳艳.Linux文件加密系统的设计与实现[D].华中科技大学,2015(5).

[8] 李延松.基于VxWorks的应用层SSH安全协议研究与改进[D].南京航空航天大学,2013(3).