赖冬寅
(四川工商职业技术学院,四川成都,611837)
嵌入式处理器的快响应安全启动机制探究
赖冬寅
(四川工商职业技术学院,四川成都,611837)
基于多粒度储存器运算机制(MMH),提出了嵌入式系统的快响应安全启动机制(FSBM);根据不同的监控对象,采用不同的策略对存储的信息和外部设计进行监控和保护。利用Xilinx的ML510FPGA开发板,对FSBM进行了设计与实现。实验结果表明: FSBM安全响应机制在安全启动系统的前提下,可以大幅度节约响应时间,提高系统的性能。
嵌入式;多粒度储存器;安全启动;快响应
嵌入式处理器启动机制不仅决定着系统启动的方式与速度,也是系统安全、稳定运行的前提。嵌入式处理器启动机制的设计直接决定了处理器能否安全地加载外部设备、能否有效地识别非法接入的危险设备。本文立足于完整性保护技术,将多粒度存储器散列运算机制(MMH)引入到嵌入式系统的安全启动过程中,对嵌入式处理器安全启动机制进行研究。MMH不仅可以实时校验来自片外的程序、数据等信息,同时,MMH还具有初始化时间短的优势,可以帮助嵌入式处理器快速启动,降低嵌入式处理器切换程序时的性能开销。
目前已有的安全启动机制,存在着各种各样的问题,没有形成一个完整的安全启动机制,特别是没有与现有的处理器运行时的完整性校验机制相结合,无法真正达到从芯片到系统安全性。实际上,嵌入式系统相对封闭、服务对象相对固定,通常不会有大量外部设备进行接入。嵌入式系统真正需要地是一种轻量级的快速响应的启动方式。针对嵌入式系统的需求,提出在嵌入式处理器内部构造一种快速响应的安全启动方式。
图1 嵌入式系统的多粒度校验机制
根据嵌入式系统启动的特点,若使用传统的单一粒度的
Merkle树进行认证必然会导致处理器在启动的过程中性能逐渐下降的情况。因为随着启动过程的结束,处理器需要加载的代码量逐步增大,单一粒度的Merkle树所需要认证的数据也随之增加,从而造成处理器访存的性能下降。为了解决这个问题,提出了一种针对嵌入式系统的快响应安全启动策略(FSBM)。这种策略改变了过去采用单一粒度对系统启动过程进行认证的方法,而采取了不同粒度配置下的MMH对启动过程进行完整性保护。图1描述了我们所设计的快响应安全启动策略。
将多粒度的机制应用到嵌入式系统的启动过程中,并根据启动过程中代码量的变化,采取不同的粒度对来自处理器片外的数据进行散列运算,以认证信息的安全性,期望能提高嵌入式系统的启动相应速度。在处理器处于复位状态时,使用细粒度配置的MMH对数据进行完整性验证;在处理器开始加载并诊断外部设备时,提高散列算法的粒度;在处理器开始加载映像文件时,我们采用最粗粒度的MMH对映像文件进行安全性认证。通过这样粒度的提高,可以使嵌入式处理器在启动的过程中获得更快的响应速度。
安全的启动方法不应仅仅实现启动的安全,而是应该保证系统由启动到运行过程中的整体安全。因此,为了满足这种安全性需求,在多粒度校验机制的基础进一步划分了完整树的功能。我们将根据认证对象所属性质的不同,把构建完成以后的完整树划分为热区与冷区。将保存在外部存储器中的数据、指令等与软件相关的信息划分到热区部分进行管理;将外部设备的ROM等与硬件相关的信息划分到在冷区部分进行管理。在系统启动以后,处理器将采用不同的方式对分属于热区和冷区的信息进行安全认证。热区所覆盖的程序以及数据信息,是需要经常被处理器访问的,处理器将按照正常的完整树散列节点的检索与校验的方式处理属于热区的散列节点。而对于冷区所覆盖的外部设备的信息,处理器将采取特殊的方式予以处理。
图2 FSBM中完整树的功能划分示意图
新的安全启动机制在启动阶段,通过初始化外部设备建立冷区。在系统完成启动过程以后,安全启动机制仅仅保留叶节点的信息,其他的中间节点都将被替换。当处理器需要对外部设备进行访问时,安全机制需要重新对外部设备的标示以及配置信息进行安全性认证。FSBM首先读取出外部设备的信息,然后对这些信息进行散列计算,并将计算出的信息直接与原先保留的叶节点相比较,从而快速完成对外部设备的认证。
在另一方面,为了提高安全启动机制的完备性,避免攻击者非法伪造为正常用户,新设计的FSBM还增加了对用户信息的认证环节。在载入系统内核之前,FSBM需要对用户身份信息进行验证,防止来自于嵌入式系统的非法用户从嵌入式系统的内部进行破坏。FSBM对用户的安全性验证工作如图3所示。
图3 在启动过程中的用户认证
引导加载程序首先加载认证程序,要求用户输入认证信息,然后在外部设备检测阶段,将已输入的用户信息与外部设备信息一同进行散列计算,并把散列计算的结果与处理器中的可信存储区中的安全信息比对,若两者结果相一致则引导过程继续,否则提示错误,并中断启动过程。这样实现了安全启动过程对用户的认证功能。
在一块Xilinx的ML510FPGA开发板中实现FSBM。整个架构包括了嵌入式处理器内核、安全启动管理模块(BM)、多粒度存储器验证模块(MMH)以及MPMC模块等。
利用Synopsys公司的FPGA综合工具Synplify评估了FSBM在FPGA器件XCSVFX130T中所消耗的硬件资源情况。使用200MHz的时钟频率约束,对硬件设计进行了逻辑综合。综合结果如表1所示。FSBM中最主要的硬件开销来自于AES-GCM计算模块,其次是L2Cache,然后是散列Cache、BM和HTM。
表1 快响应安全启动机制(FSBM)硬件开销
利用Linux内核中的启动统计信息,作为系统的启动时间。最后的实验结果如表2所示。同一般的安全启动方式相比,采用快响应方式的Linux启动具有更短的启动时间。
Research on secure starting mechanism of quick response for embedded processor
Lai dongyin
(Sichuan Technology and Business College,Sichuan Chengdu,611837,China)
Based on multi granularity memory operation mechanism(MMH),a fast response to the secure boot mechanism of embedded system(FSBM)is proposed;According to different control targets,this paper uses information and external design of the storage of different strategies for control and protection.At last, this paper designs and implements FSBM using development board Xilinx of ML510FPGA.The experimental results show that:based on security startup system, FSBM can greatly save the response time,and improve the performance of the system.
embedded system;multi granularity memory;secure boot mechanism;FSBM