1. 网站首页
  2. 社区
  3. 论坛
  4. 博客

如何保护嵌入式系统程序完整性

资料大小: 0.4 MB 所需积分: 1 下载次数: 用户评论: 0条评论,查看 上传日期: 2017-10-16 上 传 者: 邓佳佳他上传的所有资料

资料介绍

标签:嵌入式系统(901)fpga(5126)
  1 项目背景
  信息产业的高速发展,带来了信息技术的空前繁荣;但危害信息安全的事件也不断发生,信息安全的形势是严峻的。 信息安全事关国家安全,事关社会稳定,必须采取措施确保信息安全。 硬件结构的安全和操作系统的安全是信息系统安全的基础,密码、网络安全等技术是关键技术。 只有从信息系统的硬件和软件的底层开始做起,从整体上采取措施,才能比较有效地确保信息系统的安全。
  随着计算机技术、通信技术的飞速发展,特别是互联网的迅速普及和3C(计算机、通信和消费电子)融合的加速,嵌入式系统逐渐成为信息产业的一个支柱,其市场的深度和广度不断扩大。然而,嵌入式系统在快速发展的同时也面临安全方面的巨大挑战,特别是随着嵌入式系统的不断发展和推广,它越来越多地被非法入侵和破坏,给各个国家和众多企业造成巨大的损失,有时甚至危害到国家和地区的安全。例如嵌入式系统广泛地被用于控制各种关键设备:通讯网络、电力栅格、核电站、飞行控制系统等,一旦这样的系统遭到恶意入侵者的破坏,其带来的损失是可想而知。所以,安全将会是嵌入式系统设计的一种新的思维。嵌入式系统软、硬件结构简化,导致资源可任意使用,尤其是执行代码可修改,恶意程序可以被植入。病毒程序利用操作系统对执行代码不检查一致性的弱点,将病毒代码嵌入到执行代码程序,实现病毒传播。黑客利用被攻击系统的漏洞窃取超级用户权限,植入攻击程序,肆意进行破坏。更为严重的是对合法的用户没有进行严格的访问控制,可以进行越权访问,造成不安全事故。由于在嵌入式系统的制造链、供给链和使用链都可能存在那些恶意的入侵者,就此安全需求会依不同的角度而有所变化。为了保证通信安全,这时就提出了安全功能的要求,诸如数据机密性、完整性和可用性。机密性防止未授权用户获得存储在系统中的敏感信息;数据的完整性保证在未经允许的情况下,系统中的数据不能被任意地删除和修改;完整性保证病毒、恶意用户等不能随意地修改系统中的程序,可用性核实信息的发送或者接收只能是相应的对方,而不能是不合法者。这些安全功能,在如今的嵌入式系统中也得到了广泛的应用。
  基于软件,操作系统,硬件三者协同保证计算机系统的安全,产生出可信计算的基本思想。目前可信计算规范主要面向个人PC领域,但是对这个概念的理解,对于嵌入式可信系统的构造具有相当意义。可信计算的目的是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高整体的安全性。可信计算的思想源于社会。 其基本思想是在计算机系统中首先建立一个信任根,再建立一条信任链,一级测量认证一级,一级信任一级,把信任关系扩大到整个计算机系统,从而确保计算机系统的可信。在技术领域,可信计算发展非常迅速。 1983 年,美国国防部就制定了《可信计算机系统评价准则》。 1999 年, TCPA 组织成立,2003 年改组为可信计算组织TCG. TCPA 和TCG 制定了关于可信计算平台、可信存储和可信网络连接等一系列技术规范。 目前已有200 多个企业加入了TCG,可信计算机已经进入实际应用阶段。在理论领域, IEEE 组织于2004 年开办了IEEE TransacTIons on Dependable and Secure CompuTIng 杂志,专门刊发可信计算研究论文。
  在我国,与可信计算概念相对应的是由我国相关部门自主制定的TCM标准。目前,中国的可信计算事业处于蓬勃发展的阶段。
  2000年6月武汉瑞达公司和武汉大学合作,开始研制安全计算机,研究成果于2004年10月通过国家密码管理委员会主持的技术鉴定。它是国内第一款自主研制的可信计算平台,在系统结构和主要技术路线方面与TCG的规范是类似的。这一产品被国家科技部等四部委联合认定为“国家级重点新产品”,并获得2006年国家密码科技进步二等奖,已在我国电子政务、公安、银行、军队得到实际应用。
  2005年联想集团的“恒智”芯片和可信计算机相继研制成功。同年,兆日公司的TPM芯片研制成功。这些产品都相继通过国家密码管理委员会的鉴定和认可。
  联想推出了两款基于自主知识产权的TCM芯片的笔记本电脑和台式电脑,并获得了公安部、国家安全部、国家保密局和国家密码管理局的安全认证。该可信PC具备文件夹解密、安全管理箱、安全文件共享等功能,并且在易用性方面做了特色设计。
  同方公司于2007年6月26日发布了基于TCM标准的同方TST安全平台,可预防企业的机密信息通过终端计算机泄密,可隐藏硬盘,通过指纹锁进行硬盘加密以及安全备份等。同时,同方还推出了授权密网产品——将工作组的几台计算机设置成一个域,非授权用户无法传递文件。
  专门提供调用可信计算机中TCM密钥体系,让TCM、可信计算机与人的身份结合,构建完整可信计算信任链的吉大正元公司,则利用PKI/PMI技术,推出了可信接入安全支撑平台,保证不同网络可安全地接入整个体系。
  虽然在PC领域,通过各机构和企业的努力,可信计算技术已经得到了一定程度的发展,但是在嵌入式系统领域,我国无论在规范还是在实际应用上,还是处于发展不足的状态。而基于嵌入式系统对于资源的敏感性,能源的紧缺性,功能的专业性等特点,生搬硬套过往的“大而全”的可信计算规范的服务显然是不合适。同时,目前市场上通用的TPM芯片大部分是通过与CPU的LPC引脚连接提供相关的加密验证服务。个人PC市场的处理器少厂商的垄断局面与嵌入式系统芯片市场百花齐放的情况不同,这也决定了现有的TPM芯片不能满足各种各样的传输接口需求。因此,一种基于嵌入式系统特性的安全保证技术实现方案的实现就显得非常必要。
  2 系统建设总体原则
  2.1 建设目标
  本项目目的在于,基于目前现有的嵌入式部件的安全功能(Spartan-3A的Device DNA和中兴TCM芯片),提供一个保证嵌入式系统程序完整性的设计方案。于此同时,参照可信计算规范标准,为嵌入式系统打造一个可信根,为之后的可信链的建立及嵌入式可信平台的构造提供必要的条件。最终满足国内嵌入式系统安全需求,并为我国嵌入式系统可信技术独立自主发展提供支持。
  2.2 建设原则
  1、可扩展性原则:嵌入式系统本身就是一个被要求具备可扩展性的系统。其任务多变性,外设可裁剪性等原则也决定了本次设计应该具有与之匹配的特性。在保证核心,基本的完整性保证服务功能后,应该支持用户根据自身需要定制不同的,更复杂的安全性服务,即为今后系统应用的扩展和系统升级提供必要的接口。
  2、安全性原则:由于设计中任何部件的安全性缺陷以及运行步骤上的漏洞都会导致系统被破坏的可能,所以本方案的安全性必须通过可信计算规范中可信链的建立过程进行论证。从而构造一个牢固的安全根基。
  3、兼容性原则:基于嵌入式芯片厂商众多,使用的架构也不尽相同。因此本嵌入式系统程序完整性保证设计方案应该尽量做到只经过有限的修改甚至无需进行修改,即可应用到大部分主流的嵌入式系统之中。保证本设计的通用性。
  3 项目研制内容
  本项目对嵌入式系统完整性保证技术中的加密算法实现,系统部件身份识别,系统运行效率等关键技术进行了综合、深入的研究。
  3.1 系统设计框架
  整个嵌入式系统设计总体结构图如下图所示,主要有主处理芯片、提供数据验证功能的可编程逻辑器件(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的数据通路。用户可以通过相关的接口读取对比值,判断系统是否被修改。
  如何保护嵌入式系统程序完整性
  嵌入式完整性保证方案框架
  3.2 安全性分析
  硬件安全性: Spartan-3A,全部硬件逻辑固化在芯片内部,不可读取。TCM:通过国家商密办检验,不可读取。Boot Loader完整性:FPGA将依次读取Boot Loader的内容,并计算Hash值。对Boot ROM的任何篡改都将改变Hash值。从而导致验证不通过。
  以下是几种可预见的攻击方式:1、在已知Boot loader的内容的前提下,计算出数据摘要的内容,伪造FPGA。由于Device DNA是每一块FPGA的身份识别码,此值是唯一的。更换FPGA会导致用于DES加密密钥的Device DNA改变,从而向TCM芯片传送的加密值不正确。2、监听FPGA与TCM之间的通讯。由于TCM与FPGA通讯内容还依赖于随机数,具有不可预见性,所以监听当次的通讯内容对之后内容的破解并没有作用。

用户评论

查看全部 条评论
发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料
鸿运国际手机版