论文部分内容阅读
伴随着嵌入式设备在日常生活中的广泛应用以及网络技术的发展,手机、手持平板等嵌入式移动终端设备可以方便的和已有的网络相连,而且随着物联网的兴起,嵌入式设备之间也可以较容易的实现互联通信。因此,用户可以通过网络直接访问和操作各种嵌入式设备,病毒同样可以通过网络对嵌入式设备进行攻击和破坏,损坏嵌入式设备的操作系统和应用程序的,占用系统资源,甚至破坏嵌入式终端的硬件设备,造成不可修复故障。所以,传统的安全问题不再仅限于家用PC等计算能力较强的设备,在计算能力有限的嵌入式计算平台中同样急需解决其存在的安全问题,但嵌入式计算平台的计算能力有限,不能简单的将PC等计算能力较强的设备的安全机制直接移植到嵌入式计算平台中。随着可信计算概念的提出,在国际上可信计算组织(Trusted Computing Group,TCG)提出了一整套解决各种计算设备包括传统的PC设备以及各种嵌入式设备的安全性问题的方案,其方案的核心思想是通过RSA非对称密码算法来保证各种平台身份的可信性以及通信过程中数据的安全性。但RSA非对称密码算法在嵌入式可信计算平台中的执行效率较低,如果采用纯硬件AISC的方式对密码算法进行平台的固化,则需要较高的硬件成本,嵌入式计算设备往往对成本会有一定的要求,希望计算平台的成本越低越好。因此,本课题中采用一种较新的指令优化的方法,通过扩展已有的嵌入式可信计算平台的指令集,对现有的嵌入式可信计算平台的加解密算法进行优化分析与研究,通过小规模硬件电路来实现算法的高效执行,以降低密码算法的硬件实现成本,而且,保证密码算法在嵌入式计算平台中的高效执行。针对TCG提出的现有的可信计算平台规范进行研究与分析,发现TCG定义的可信计算模块(Trusted Platform Module, TPM)在对称密码方面支持不足,对称密码算法和非对称密码算法在进行数据的加解密方面各有优势,特别是RSA非对称密码算法执行效率较低,在加解密的数据块较大时,即使使用纯硬件的方式实现,也不能满足嵌入式可信平台对实时性方面的要求。因此,本课题将美国国家标准与技术研究院的高级加密标准(Advanced EncryptionStandard, AES)对称密码算法引入到可信计算平台中,提出了一种基于对称密码算法和非对称密码算法的新的嵌入式可信计算平台架构。对嵌入式可信计算平台中加解密算法进行优化分析时,因为本课题研究的可信计算平台为32位的嵌入式可信计算平台,所以首先对算法通过使用超长指令字(Very Long Instruction Word, VLIW)等方式对算法的实现过程进行软件优化。随后将软件优化后的算法通过高级语言例如C语言实现,随后将高级语言描述的算法划分成基本指令块(Basic Instruction Block, BIB),将每个基本BIB转化为对应数据流图(Data Flow Graph, DFG),通过DFG图进行指令的优化分析,查找可优化指令块。在查找可优化指令块的过程中,本课题通过研究已有的自动指令优化的方法,归纳总结出了自己的一套可优化指令块的查找思路,根据这套思路查找每个DFG图的可优化指令块。完成嵌入式可信计算平台中密码算法的可优化指令块的优化分析后,本课题采用了一种国际上较新的电子系统级(Electronic System Level, ESL)的设计方式,通过使用LISA语言,根据分析查找出的针对AES对称密码算法和RSA非对称密码算法可优化指令块,进行专用指令处理器(Application Specific Instruction Processor, ASIP)的模型设计,并且结合之前的指令优化设计方法,提出了一套整体的模型设计验证思路。然后将LISA语言设计的ASIP模型转化为Verilog RTL级处理器模型的描述,并通过ModelSim对导出的模型进行仿真验证。最后,通过Synplify工具对模型进行综合布局布线,并将综合后的针对嵌入式可信计算平台中密码算法设计的专用指令处理器模型烧写到Xilinx Virtex5LX110T中,验证模型的正确性。