论文部分内容阅读
安全隔离是实现嵌入式设备信息安全的关键技术之一,基于软件的安全隔离机制CPU占用时间长、对系统整体性能影响较大且存在安全隐患,而基于硬件的安全隔离机制安全性强,可从根本上解决软件机制的问题。本文以轻量级嵌入式设备为研究对象,围绕嵌入式设备的安全隔离机制展开研究,通过设计以域匹配内存保护单元为核心的硬件安全架构,结合面向安全隔离的系统运行机制,以软硬件协同的方式提高嵌入式设备的安全防护能力。本文主要工作和研究成果如下:本文基于域匹配内存保护单元和安全加载程序设计了系统硬件架构和软件架构,为实现系统的安全隔离提供了底层基础和上层支持。其中硬件架构以域匹配内存保护单元为核心,从硬件层面实现了系统的安全隔离。任务在内存中存储分为代码域和数据域,域匹配内存保护单元通过代码域链接到数据域,使得在内存访问过程中不仅需要验证待访问的数据地址,还要考虑发起访问的指令所在的地址,当二者相互匹配并且访问类型符合访问控制规则表中相应的访问权限时才允许此次访问,实现了对内存的访问控制。访问控制规则由访问控制安全模型制定,在对嵌入式设备安全威胁和安全特征充分研究的基础上,提出了双域匹配安全模型。模型借鉴DTE模型的安全域隔离思想,根据最小特权原则限制了对系统中可信任务代码及数据域的访问权限,实现了可信任务与普通任务之间的安全隔离,为硬件单元的设计提供了理论支撑。本文设计了嵌入式系统面向安全隔离的运行机制,包括可信安全启动流程、安全异常处理机制和任务间通信机制。可信安全启动流程将可信计算中的完整性度量技术引入启动阶段,根据星型度量模型构建了系统的信任链,实现了设备从启动到运行全过程的安全可信。设计了面向安全隔离的认证与度量方案,实现了轻量级Keccak杂凑算法模块。模块采用串行结构以减小硬件开销,通过引入流水线提升了算法的运算速度。安全异常处理机制通过将中断的可信任务状态信息存储到相应任务的安全数据区,同时清空当前通用寄存器,实现了安全数据与操作系统和中断服务函数之间的隔离,避免了因系统异常导致的可信任务安全数据的泄漏。可信任务间安全通信机制基于上述算法模块构建了安全可信的数据通道,通过对通信双方身份进行双向认证,确保了通信数据的安全传递。最后,构建了低功耗SoC系统作为测试平台,根据嵌入式设备安全隔离机制运行过程确定了验证流程,基于攻击模型模拟两种攻击方式对安全架构进行功能验证,同时通过软件仿真与硬件实现结果对比实现了对算法模块的功能验证。最后进行了ASIC逻辑综合,对模块的硬件资源开销进行了分析,通过对比完成了性能评估。实验结果表明,本文设计的安全架构及运行机制有效地实现了任务间细粒度的安全隔离机制,并且能够提升嵌入式设备的安全防护能力,具有较高的理论研究价值和广泛的应用前景。