论文部分内容阅读
随着物联网、云计算等新型应用场景的飞速发展,以及各类计算设备性能的大幅提升,终端平台所承载的敏感计算和用户隐私面临的安全威胁显著增加。传统的软件安全防护技术已无法抵御日益强大多样性的攻击。唯有根本上从系统自身的体系结构出发,在硬件层面引入安全增强机制,才能够满足终端用户的应用安全需求。在这种思路下,可信执行环境(Trusted Execution Environment,TEE)技术应运而生。TEE技术以处理器级安全扩展为基础,通过硬件隔离屏蔽系统级安全威胁,实现从底层架构到上层应用的全系统安全,从而从根本上提升终端平台的防御能力。现如今,TEE的发展面临一系列技术难点,由于功能性、扩展性方面的限制,以及缺少统一的架构设计,其强大的安全能力无法向应用厂商普及,成为当下安全领域亟待解决的热点问题。 本文致力于在TEE的安全技术和标准体系下,研究各类终端平台的安全防护技术和解决方案,使其能够满足各主流应用场景下的不同安全需求,促进TEE技术的推广,从根本上提升广大终端平台的安全防护能力。首先,面向不同类型的计算平台和应用场景(移动平台、嵌入式封闭平台、云开放平台),提出通用的TEE系统模型,给出完善、细粒度的安全属性定义。其次,基于目前最主流的TEE实现技术,ARM Trustzone,对实现上述模型所涉及的关键技术进行理论研究和工程实现。最后,面向特定的身份认证领域,给出基于TEE技术的实现和改进方案,并以此为基础,为其他安全应用的TEE安全增强提供技术支撑。本文主要贡献包括: 1.设计并实现了完善的基于TEE的移动平台强隔离安全服务体系,解决了传统TEE隔离架构缺少细粒度存储隔离机制、完善的I/O通信隔离机制、有效的访问控制机制的问题,为支付、认证等移动安全应用有效屏蔽了移动操作系统层的安全威胁,同时保留了移动应用通用、高效、灵活的优势。基于ARM Trustzone技术,在Trustzone安全世界中部署具体的安全应用,并实现了关键的系统安全功能支持。首先使用静态内存(Static Random Access Memory,SRAM)的物理不可克隆函数(Physical Unclonable Function,PUF)构建可靠的存储信任根,解决了Trustzone不支持细粒度存储介质隔离的问题。其次引入可信计算的策略授权机制,为安全世界提供完善灵活的访问控制。最后利用Trustzone提供的中断隔离机制,构建动态可配置的用户交互路径,防止用户交互数据在内核层的泄漏和篡改。在这些关键技术的支撑下,与移动支付,双因子认证等典型移动安全应用深度结合,设计了通用的身份认证协议,将移动设备作为安全令牌提供身份鉴别,由TEE直接屏蔽系统层安全威胁,从而具备与专有硬件令牌等价的安全能力,又消除了其携带不便,成本昂贵,效率低下等缺点。 2.设计并实现了基于TEE的嵌入式平台白名单安全增强方案,首次提出使用TEE技术增强白名单监控系统的安全性,解决了传统系统监控方案无法确保核心监控组件自身安全性的问题。针对工业控制,智能交通等具有强安全需求的封闭环境,基于白名单思想提出了一种嵌入式平台可信代码执行方案。设计了可执行文件完整性、运行时代码完整性、控制流完整性3种粒度的白名单策略,确保设备只能执行符合白名单策略的授权代码,解决了传统基于特征签名的安全技术无法抵御未知攻击的问题。本系统利用TEE对白名单及策略检查代码进行保护。利用Trustzone技术,结合ARM虚拟内存保护机制,实现了内核飞地构建的关键技术,确保核心监控模块无法被内核攻击者篡改或绕过。最后,在此基础上,设计了安全的白名单更新与平台状态证明协议,确保安全世界与中控服务器通信的隐私性,不可屏蔽性。方案在基本的硬件隔离能力以外,进一步挖掘了TEE技术的系统监控能力,有效扩展了TEE技术的应用场景。 3.针对云计算等开放环境,设计并实现了基于TEE的敏感应用开放防护体系,提出了新型TEE开放隔离架构,解决了传统的基于虚拟化的云安全方案TCB过大的问题,以及不可信云服务高效安全调用的问题。方案将TEE保护域扩展至普通操作系统执行环境(Rich Execution Environment,REE),TEE内部只包含轻量级系统监控模块,确保REE内原生应用进程既能享有与TEE等价的隔离保护,又能在不信任REE内核的情况下安全调用其系统服务,而不需要在TEE内部对这些服务重新实现,有效减小了系统可信计算基。方案提出的内核主动证明技术,要求REE主动提供信息协助TEE验证其自身行为,近一步简化了TEE监控模块的实现。方案解决了传统TEE架构在开放性和安全性上的冲突问题,也降低了TEE应用的开发和部署难度,为设备厂商将TEE安全能力向第三方应用大规模开放,提供了必要的基础安全支撑。 4.设计并实现了面向身份认证应用的TEE高效应用内隔离方案,方案兼具传统TEE隔离系统和新型TEE监控系统的优势,是首个兼具开放性、安全性、高效性和实用性的TEE身份认证解决方案。方案的设计深度融合了认证类应用的本质特征,解决了三大技术挑战。首先通过深入分析认证应用的内部实现逻辑,实现了应用内安全划分,既能防止内核层攻击,又能屏蔽应用内漏洞威胁。其次,实现了高效的REE内部隔离,既能有效减小系统可信计算基,又避免了REE-TEE频繁切换带来的巨大系统性能开销。最后,通过安全的上下文切换组件,为核心代码提供了外部不可信功能的安全调用机制。该方案作为应用案例,为TEE技术在其他领域内的普及提供了有效的规范指导。