论文部分内容阅读
随着嵌入式技术的发展,智能手持设备日益普及,其安全问题也逐渐引起人们的关注。针对各种安全威胁,目前已经开发出了多种手段进行防护,如用户认证,病毒扫描,数据加密等。但我们注意到,现有的各种安全措施基本是在操作系统环境中实现的,大多依赖于操作系统的正常工作。而从系统平台上电或复位开始,到操作系统接管控制之间,还有一段启动加载程序,负责初始化平台硬件和引导操作系统。这部分的程序的安全问题没有引起足够的重视,可能成为嵌入式系统安全的薄弱环节。
可扩展固件接口EFI的出现,为实现嵌入式平台上的安全启动提供了一种可能的解决方案。EFI是下一代BIOS的工业标准,描述了操作系统和平台固件之间的接口。它独立于硬件平台的架构,基于驱动模型,可以进行二进制目标文件级的连接。EFI规范是一个开放的标准,EFI Framework是英特尔公司建立的EFI实现框架,其代码称为Tiano。
本文在深入分析智能手持设备启动过程的安全风险和EFI规范的基础上,提出了在智能手持设备上使用EFI Framework建立操作系统启动前环境的安全启动方案。这一方案的核心在于利用EFI Framework的分层结构建立信任链,在驱动执行环境DXE中实现USBKEY认证功能,从而在启动引导过程中建立起一套可靠的可执行模块验证和用户身份认证机制,与操作系统的安全防护措施一起,构成完整的嵌入式系统安全体系。
目前,EFI主要应用于服务器和桌面电脑平台,尚无嵌入式系统上使用的先例。本文最后以一个采用Xscale PXA27x处理器的智能手机开发平台为基础,详细讨论了Tiano内核在该平台上的移植过程,为进一步实现基于EFI Framework的安全启动方案打下基础。