论文部分内容阅读
软件自身存在的安全漏洞是导致SoC的安全资源非授权访问的根本原因。硬件安全防护机制能够有效解决传统的软件层安全防护机制不能高效地解决安全资源的保护问题。为此,本文重点从安全SoC的硬件架构展开研究,以安全隔离思想为指导,提出并设计了基于双核隔离的安全SoC架构,实现了安全资源的隔离保护。本文主要的研究成果如下:安全SoC设计的核心是安全隔离,目的是构建安全核的可信执行环境。基于Flask安全体系结构的策略分离安全思想,提出了基于Flask安全体系结构的通用计算与安全管控隔离的双核安全框架,定义了SoC系统软硬件的组成部分。在硬件层,为了实现双核安全隔离,设计了安全隔离单元,将SoC资源划分成安全区与非安全区;为实现核间通信,设计了基于共享内存的核间通信机制与基于IPC的中断通知机制。在软件层,为构建可信执行环境,利用可信计算思想构建了双核的可信根,基于可信根的信任链传递模型,设计了双核的安全启动与双核的软件架构。共享内存是安全区与非安全区交互的唯一通道,共享内存的安全是双核通信的安全基础。为保护共享内存的通信安全,针对不同的计算核系统访问进程,制定了四种不同的安全级别,设计了进程的多级访问控制策略,分别实现了进程的直接访问控制、有效性访问控制、完整性访问控制、机密性访问控制。根据进程多级访问控制策略,设计了双核通信的安全通道框架,该框架具有更好的灵活性与安全性。安全核的主动性是双核安全SoC的重要安全特性,主动完整性监控机制是实现系统完整性的重要安全机制。在安全核的可信执行环境基础上,为了增强计算核系统的安全性,充分利用了安全核的主动性,从系统完整性角度出发,设计了基于安全核的总线完整性监控机制,从硬件层监控计算核系统内核的静态区域完整性,可抵抗瞬态攻击。为弥补总线监控的不足,在总线监控的基础上,从软件层提出了基于安全核的动态完整性监控机制。总线监控机制与动态完整性监控机制共同构建计算核系统的完整性。设计了双核安全SoC的原型系统,搭建了基于原型系统的仿真平台,完成了双核安全SoC的验证与评估。仿真平台分别验证了安全启动、安全存储、安全DMA、安全中断、核间通信、总线监控等安全SoC功能。从设计复杂度、安全性、资源占用与性能等方面进行方案分析与评估。结果表明了双核安全SoC具有较低的设计复杂度、更低的总线延时、较高的安全隔离特性、更强的完整性与机密性保护能力、更高的异常检测能力,具有并行性、实时性、主动性的独特优势。双核安全SoC有效地提升了系统的安全防护能力,具有高速并行处理性能,具有较高的理论研究价值和广泛的应用前景。