项目信息
项目名称:嵌入式系统程序完整性保证技术  
英文名称:integrity verification on embedded systems 
关键词:可信计算,嵌入式系统,系统安全,FPGA 
关键词英文:trusted computing,embedded system,system security,FPGA 
项目信息:
应用领域:消费类电子
设计摘要:
本项目目的在于,基于目前现有的嵌入式部件的安全功能(Spartan-3A的Device DNA和中兴TCM芯片),提供一个保证嵌入式系统程序完整性的设计方案。于此同时,参照可信计算规范标准,为嵌入式系统打造一个可信根,为之后的可信链的建立及嵌入式可信平台的构造提供必要的条件。最终满足国内嵌入式系统安全需求,并为我国嵌入式系统可信技术独立自主发展提供支持。
设计摘要(英文):
Integrity verification is one of the requirements of the trusted computing specification that published by the TCG (trust computing group). It is necessary to provide a scalable integrity certification scheme for different embedded systems. The Integrity-verified Flash Controller (IFC) provides such integrity verification capability for embedded systems by considering the power consumption, resource and efficiency. With the SHA-1 encryption algorithm engine, the standard secure message digest algorithm defined in RFC 3174, it can provide the fast, stable, and high compatible service across many processor architectures, especially for PowerPC. Before the processor fetches instructions from off-chip flash memory, IFC should scan specific flash sections and compute its digest value with SHA-1 engine. By checking the result provided by IFC that indicates whether the message digest is equal the pre-defined value or not, system software can affirm whether the specific flash sections is tempered with or not. Such correct flash sections become the trusted root.
As an IP core, the IFC is firstly designed based on Xilinux FPGA, aiming to communicate with the PowerPC core through PLB interface, which is a part of the Core Connect bus protocol in Power SoC architecture. At present, we have applied the design for an ARM-based platform. That is, the purposed design is suitable to the embedded systems and gets the universality through some slightly adjustments.
系统原理和技术特点:

 

整个嵌入式系统设计总体结构图如下图所示,主要有主处理芯片、提供数据验证功能的可编程逻辑器件(FPGA)、提供TCM规范服务的TCM芯片以及外部存储器件。本系统运行与两种模式下:1、主要由FPGA与PC进行数据交互的配置模式。2嵌入式处理芯片,FPGA,TCM芯片协同工作的运行模式。
配置模式下,FPGA读出内部Device DNA,输出到PC端。之后扫描外部存储设备(如flash)制定地址区间的内容(一般为boot loader),进行SHA-1运算,产生数据摘要,输出到PC端。Device DNA会作为DES算法的密钥对上面提到的数据摘要进行加密,Device DNA与加密值会通过固件程序保存在TCM芯片的可信存储区域内。
运行模式下,主处理芯片通过FPGA产生的时钟信号进行工作。系统上电后,FPGA并不马上对主处理芯片提供时钟,而是先进行完整性验证工作:1、装载Device DNA,提供给内部DES运算部件作为密钥使用。2、请求TCM芯片发送32位随机数,此随机数将会被DES算法加密后送到FPGA,FPGA的DES部件对其进行解密后,进行存储。3、FPGA读取flash制定区域的内容,并进行SHA-1运算,产生160位数据摘要。4、160位数据摘要被分为5组,每组32位。每组与此前接收到的32位随机数组成64位数据,进行DES加密后,送到TCM芯片进行校验。5、TCM芯片接收到5组数据后进行解密。首先校验随机数部分是否与之前发出的一致,若一致,则继续校验数据摘要部分数据与之前在配置模式下写入的理想值是否一致。对比结果存放于特定内存位置。6、FPGA为主处理芯片提供时钟,并接通主处理芯片与外部存储器与TCM的数据通路。用户可以通过相关的接口读取对比值,判断系统是否被修改。
系统框图.jpg
系统框图:系统框图.jpg
计划书:嵌入式系统程序完整性保证技术研制报告.doc [127 KB]
当前项目状态:
参赛信息:
指导老师姓名: 陈虎
指导老师职称: 副教授
学校: 华南理工大学
研究方向: 目前主要从事面向多核处理器的体系结构和并行软件开发,以及嵌入式系统方面的科研工作。
参赛情况: 第二届开放源码硬件与嵌入式大赛(大陆地区报名)
最新版本:
请同时下载该项目版权声明
update 10-02-27 09:02:17
2010年2月27日上传
完整并可执行版本
相关文件:
嵌入式系统程序完整性保证技术 .rar  2.6 MB 
了解整个项目的开发记录
相关评论:  
添加评论  更多评论
正在读取数据……
关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaowen@eefocus.com  联系电话: 010-62967005-8026    Fax:010-62967005-8008
Powered by eefocus.com