具有usb接口的移动可信计算模块的制作方法

文档序号:6605648阅读:652来源:国知局
专利名称:具有usb接口的移动可信计算模块的制作方法
技术领域
本发明涉及一种具有USB接口的移动可信计算模块,特别是一种适用于移动手机 终端可信计算模块。
背景技术
随着移动宽带网络的发展,移动手机终端的数据业务应用日益广泛,同时也给手 机系统的安全带来极大隐患,黑客的攻击和病毒的泛滥使得手机系统的安全问题更加突
出ο可信计算技术因其强有力的安全保护手段和宽广的应用前景受到信息安全技术 领域的广泛关注,无论是从理论上还是应用上对这项技术的研究都成为了近年来信息安全 领域最具吸引力的热点问题。可信计算以可信计算模块作为可信根,将信任通过可信链的 传递扩展到整个系统和网络,从而达到安全的目的。通过将可信模块移植到USB这种手机终端常见的接口上,实现连接方便,简易便 携的特性。与传统的可信模块相比,基于USB的移动可信计算模块在实现基础、计算部件、 密钥管理、及授权协议上都有着很大不同。通过对可信模块的可信链、计算部件、密钥功能 以及身份认证、授权管理等进行设计,结合USB协议特征设计出通信协议,与手机终端平台 进行交互,构建移动可信计算模块。目前已有的移动可信计算模块大多为LPC或者I2C接口,需要与终端平台进行固 定连接,这就需要在手机平台上做比较大的改动,不易于使用推广。

发明内容
发明目的本发明的目的在于克服现有技术中的不足,针对移动终端的安全防护 设计一种具有USB接口的移动可信计算模块,该模块具有可信计算规定的所有功能,同时 具有USB接口,可以与手机终端进行方便的对接。技术方案本发明利用微处理器扩展出USB接口,将可信计算模块移植到USB这个 嵌入式系统常用的接口上,并使用微处理器和存储部件来实现可信计算模块规定的密钥和 存储相关功能,使用移动可信计算模块作为整个移动嵌入式终端的可信根。本发明所述的具有USB接口的移动可信计算模块,包括微处理器、EEROM存储器、 电源模块和USB接口 ;所述微处理器通过USB接口与嵌入式终端进行通信,调度模块内的算 法和功能;所述EEROM存储器与所述微处理器连接,用于储存不可变更的信息,如存储签名 密钥、身份信息等一些永久的标识;移动可信计算模块由嵌入式终端通过USB接口供电,所 述电源模块与所述USB接口相连,提供电压转换,给可信计算模块内的器件供电。所述微处理器集成了 USB接口,采用中断传输的方式与嵌入式终端通信;所述微 处理器通过软件算法实现了几种计算引擎1) RSA算法引擎,提供加密和数字签名的功能, 可信计算组织规定的最大RSA计算分组长度为2048bit,结合嵌入式系统的安全要求以及 可信计算模块的数据处理能力,采用输入256bit,输出512bit的RSA方案;2)AES算法引
3擎,提供对称加密功能,可信计算组织未明确对称加密算法AES的分组长度,由于AES具 有针对大量数据加密快的特性,考虑到完整性报告数据量可能会很大,使用128bit的AES 方案;3)RNG引擎,每次能产生32bit的随机数,提供给密码相关引擎和通信协议调用;4) SHA-I算法引擎,提供散列值计算功能,采用输入512bit,输出160bit的方案。移动可信计算模块的微处理器统一处理与嵌入式终端通信的各项指令,调度模块 内的各种算法和功能。移动嵌入式终端与可信计算模块间进行一系列的指令交互来实现可 信计算的各项功能,交互指令包括常态询问、HASH验证请求、身份认证签名、完整性报告 和软件更新。本发明与现有技术相比,其有益效果为(1) USB接口为嵌入式手机终端常用标准 接口,本发明将可信计算模块移植到通用USB接口上,能方便的与手机进行连接;(2)本发 明基于USB接口设计可信计算模块与手机终端的通信协议,利用可信计算模块内的安全功 能部件,构建一个可信计算环境,从而达到手机安全的目的。


图1是本发明产品的总体框图;图2是本发明产品的功能抽象图;图3是本发明产品的电路连接图;图4是本发明产品与移动终端连接图;图5是本发明产品相应HASH验证请求流程;图6是接入认证流程图;图7是本发明产品响应完整性报告请求。
具体实施例方式下面结合附图,对最佳实施例进行详细说明,但是本发明的保护范围不局限于所 述实施例。实施例本发明具有USB接口的移动可信计算模块(MTM)包括USB接口,微处理器 (MCU),EEROM存储器和电源模块,模块总体构架如图1所示。微处理器是整个模块的核心 部件,统一调度各种资源,并且通过USB接口与嵌入式终端进行通信。微处理器通过软件算 法实现了 RSA算法引擎,AES算法引擎,RNG发生器和SHA-I算法引擎。系统通过电源模块 由USB接口供电,电源模块将电压从5V转换为3. 3V。EEROM是存储部件,存有签名根密钥, 身份密钥等不可更改信息。为了满足嵌入式系统构建可信安全环境的要求,MTM提供了如下功能(1)签名签名用于保证带有密钥的消息的完整性。MTM标记一些非对称密钥仅作为签名密 钥,签名密钥仅用于加密数据的散列(HASH)值。(2)存储保护与存取控制存储保护主要是指对存储器中的数据进行加密处理,保证数据不能被非授权用户 访问,其中还应该包括非易失性存储,用以存放身份信息。数据存储的安全性取决于加密算 法所使用密钥的安全性,密钥应当存储在非法用户无法访问、并难以获取的安全载体上。存取控制包括对特定用户的授权,存储权限的确定和实施。在安全保护应用中,存储控制一般 都涉及自主存取控制和强制存取控制两种形式。(3)数字摘要数字摘要主要用于对要传输的数据作运算生成信息摘要,它并不是一种加密机 制,但却能产生信息的数字“指纹”,它的目的是为了确保数据没有被修改或变化,保证信息 的完整性不被破坏。(4)随机数生成随机数产生器(RNG)用于产生密钥、创建随机数和加固密钥的熵值。将移动可信计算模块抽象成如图2所示的功能组合,密码部分包含随机数生成 器,RSA引擎,AES引擎和SHA-I数字摘要引擎。RSA引擎和SHA-I配合工作可以产生数字 签名,RSA算法同时也能完成解签名的工作。MCU中的RAM存储临时数据,并对存储的数据 进行安全管理。EEROM中存储掉电不可失数据,例如签名密钥和身份信息等。PIC32为MTM的主控芯片MCU,PIC32MCU为32位MIPS架构,运算数度快,可以适 应RSA、AES等算法,集成USB收发器,最高时钟60MHZ,具有512KFlash,64KRAM,低功耗, 满足MTM的功能要求。EEROM采用芯片25LC256,25LC156具有SPI接口,最快时钟10MHz, 256K bit存储容量,块存储保护功能,完全满足MTM的需要,而且25LC256芯片体积小,可以 减小MTM的面积。图3为本发明的电路示意图,包括了 MTM的执行引擎PIC32MCU和存储器 25LC256,电源管理部分,USB接口部分。其中25LC256的连接部分,采用了外部拨码开关和 @引脚结合的写保护方式,这样用户就可以拥有初步的MTM可选安全策略。接下来描述下本发明的软件方面的实现。可信计算组织(TCG)规定的最大RSA 计算分组长度为2048bit,结合嵌入式系统的安全要求以及MTM的数据处理能力,采用输入 256bit,输出512bit的RSA方案。TCG未明确对称加密算法AES的分组长度,由于AES具有 针对大量数据加密快的特性,考虑到完整性报告数据量可能会很大,采用128bit的AES方 案。RNG采用PIC32自带的随机数发生函数库,每次能产生32bit的随机数,随机数长度满 足MTM的RNG性能要求。SHA-I算法采用输入512bit,输出160bit的方案。图4为移动可信计算模块与移动终端的连接图。右边部分的模块即为移动终端系 统,MTM驱动和完整性验证控制模块(IVCM)属于移动终端系统的内核空间,其余属于用户 空间。任何用户进程在启动时都会触发“完整性检验模块”(Integrity VerificationControl Module, IVCM),对其相应的可执行文件进行完整性检验。安全服务进程有四个作用(1)转发MTM与远端服务器的通信;(2)加解密用户进程访问网络的数据;(3)安装新程序时,向MTM发送更新证书请求;(4)转发MTM与用户进程间的通信数据,目前只考虑MTM向用户进程提供签名请求 服务。MTM驱动在设计时理想上要做到以下几点(I)MTM驱动自身的安全根本上是由操作系统内核机制保证的,但设计上应该尽量 增强自己的安全性。自身的安全性体现在,不丧失与MTM通信的权限;没有能越过自己直接
5跟MTM通信的途径。(2) MTM驱动提供的接口只允许安全服务进程和完整性验证控制模块调用。(3)如果上述规则被破坏了,MTM会知道。MTM驱动程序不仅要具有普通USB驱动的功能,而且要嵌入一些安全加密算法以 满足MTM与系统通信之间信息交互的安全。为此需要定义一套基于USB的安全通信协议。 在USB规范中,定义了 4种传输方式中断传输;等时传输;批量传输;控制传输。控制传输 用于与系统建立联系,不适于大量数据传输。等时传输PIC32协议栈不支持。批量传输能 传递大量数据,但是实时性不好。中断传输适于大量数据传输而且响应时间快。MTM侧重于 传输速度和响应速度这两个方面,综合考虑各种方式,采用中断传输方式,将USB接口设置 成两个端点端点0为控制端点,采用控制传输方式,用于与系统建立联系,包长8字节;端 点1为中断端点,采用中断传输方式,包长64字节。为了满足MTM的功能要求,定义一些移 动嵌入式系统(ES)与MTM交互的命令,包括常态询问、HASH验证请求、身份认证签名、完 整性报告、软件更新。下面将对这几部分进行详细说明。一、常态询问当MTM连接嵌入式设备并启动时,需要一定的初始化时间,而系统则必须等待MTM 初始化结束后才可以开始启动。常态询问的作用就是由系统发出指令,当MTM开始响应指 令时,说明MTM已经初始化结束,系统可以开始启动了。常态询问指令定义格式如下 步骤1 嵌入式系统_ >移动可信计算模块(MTM)指令名称0xc9(常态询问)Oxca (常态回复)标志位0x00总帧数0x01 (从1开始计数,低字节在前)当前帧号0χ00 (从0开始计数,低字节在前)数据长度0χ04数据段系统发给MTM —个32bit的数据(低位在前),MTM加1后返回给系统。二、HASH验证请求散列值(HASH)验证请求由IVCM(完整性检验模块)发出。每当有一个新的进程 添加到内存中时,便会触发完整性验证机制,该机制由IVCM实现。IVCM会首先定位到该进 程对应的文件系统中的可执行文件,然后对该文件作HASH运算,然后将产生的HASH值报告 给MTM,即为一次HASH验证请求。请求期间,手机系统会处于暂停状态,因此MTM在设计时 将该请求的优先级设置为最高。MTM接收到HASH验证请求后,进行如图5所示的一系列操作。HASH列表是存储在 MTM中的,所有合法的软件都应有对应的HASH码。HASH列表由HASH码及其索引值构成。 MTM中要动态维护一个进程列表数组,该数组记录请求验证的进程号。定义一个进程的进 程号即为对应HASH码在HASH列表中的索引值。同时MTM还需要维护一个PCR寄存器,跟HASH码一样的长度,初始值为0。索引值0表示异常进程(未知进程)。Hash验证指令定义格式如下 步骤1 嵌入式系统_ >移动可信计算模块(MTM)指令名称0xcb标志位0x00总帧数0x01当前帧号0x00数据长度0xl4数据段一个HASH 值,格式 bytel,byte2,byte3.....步骤2 移动可信计算模块(MTM)- >嵌入式系统指令名称0xCC(同意请求),Oxcd (拒绝请求)标志位0x00总帧数0x01当前帧号0x00数据长度0三、身份认证签名移动终端系统刚接入网络时,会跟远端的安全服务提供者SSP进行双向的身份认 证。MTM会产生一份此时手机终端的完整性报告,安全服务提供者验证后,若报告被判断为 完整,则准许接入网络,否则不允许接入网络。在接入网络时,则双方会协商一个会话密钥, 此后用户进程访问网络的所有数据均由安全服务进程使用此密钥进行加解密。假定MTM和 安全服务提供者(SSP)通信双方均已获得对方的公钥,那么SSP认证MTM的流程如图6所 示。手机终端与安全服务提供者SSP进行安全接入认证时候,需要MTM对数据进行签名加

Γ t [ O身份认证签名指令定义格式如下 步骤1 嵌入式系统- >移动可信计算模块(MTM)。验证身份和协商密钥过程开 始。指令名称0xce标志位0x00总帧数0x01当前帧号0x000083]数据长度0χ00
0084]步骤2 可移动信计算模块(MTM)- >嵌入式系统
0085]指令名称0xcf
0086]标志位0x00
0087]总帧数0x02
0088]当前帧号0x00,0x01
0089]数据长度0x39
0090]数据段MTM ID+MTM生成的32bit随机数,再用RSA加密,生成512bit的密文,分
两次传送。
0091]步骤3 嵌入式系统- >移动可信计算模块(MTM)。验证SSP身份,传递随机数。
0092]指令名称0xd0
0093]标志位0x00
0094]总帧数0x02
0095]当前帧号0x00,0x01
0096]数据长度0x39
0097]数据段MTM产生32bit的随机数+SSP产生32bit的随机数,用RSA加密,生成 512bit的密文,分两次传送。
0098]步骤4 移动可信计算模块(MTM)- >嵌入式系统
0099]指令名称=Oxdl
0100]标志位0x00
0101]总帧数0x02
0102]当前帧号0x000x01
0103]数据长度0x39
0104]数据段MTM ID+MTM生成的32bit随机数+SSP产生的32bit随机数,再用RSA加 密,生成512bit的密文,分两次传送。
0105]步骤5 嵌入式系统- >移动可信计算模块(MTM)
0106]指令名称:0xd2
0107]标志位0x00
0108]总帧数0x02
0109]当前帧号0x000x01
0110]数据长度0x39
0111]数据段MTM生成的随机数+SSP产生的32bit随机数+SSP验证MTM权限 4bytes),用RSA加密,生成512bit的密文,分两次传送。
0112]步骤6 移动可信计算模块(MTM)- >嵌入式系统。身份验证和密钥协商结束。
0113]指令名称0xd3
0114]标志位0x00
0115]总帧数0x01
0116]当前帧号0x00
0117]数据长度0x00
四、完整性报告完整性报告请求由安全服务提供者发起,经安全服务进程转发。安全服务提供者 SSP在手机注册网络时会第一次请求完整性报告。正常工作期间,会定期向手机发送该请 求。MTM对完整性报告请求响应如图7所示。完整性报告指令定义格式如下 步骤1 嵌入式系统_ >移动可信计算模块(MTM)指令名称0xd4标志位0x00总帧数0x01当前帧号0x00数据长度0χ10数据段SSP产生32bit的随机数,用AES加密,生成128bit密文。步骤2 移动可信计算模块(MTM)- >嵌入式系统指令名称0xd5标志位0x00总帧数不定当前帧号不定数据长度不定数据位为MTM生成的完整性报告,其格式如下 数据号进程列表中进程数目(低8位在前)PCR 寄存器值的格式:bytel, byte2, byte3......MTM ID = 0x00000001,报文 ID = 0x0001MTM ID使用RSA加密,其余明文通过AES加密,产生相同长度的密文,发送给嵌入 式系统。步骤3 嵌入式系统- >移动可信计算模块(MTM)指令名称0xd6标志位0x00总帧数0x01当前帧号0x00数据长度0χ10
数据段安全服务提供者SSP产生的随机数(32bit) +分析结论(32bit)用AES加 密,生成128bit密文。步骤4 移动可信计算模块(MTM)- >嵌入式系统。通知手机终端上传结束。指令名称0xd7标志位0x00总帧数0x01当前帧号0x00数据长度0χ00五、软件更新软件更新指令定义格式如下 步骤1 嵌入式系统_ >移动可信计算模块(MTM)指令名称0xd8标志位0x00总帧数0x02当前帧号0x01,0x00数据长度0x39数据段ID(软件索引值,低字节在前)+HASH(软件HASH码)用RSA加密,生成 512bit密文,分两次传送。步骤2 移动可信计算模块(MTM)- >嵌入式系统指令名称0xd9(添加证书成功),Oxda(添加证书失败)标志位0x00总帧数0x01当前帧号0x00数据长度0χ00熟知本领域的人士将理解,虽然这里为了便于解释已描述了具体实施例,但是可 在不背离本发明精神和范围的情况下做出各种改变。因此,除了所附权利要求之外,不能用 于限制本发明。
10
权利要求
一种具有USB接口的移动可信计算模块,其特征在于包括微处理器、EEROM存储器、电源模块和USB接口;所述微处理器通过USB接口与嵌入式终端进行通信,调度模块内的算法和功能;所述EEROM存储器与所述微处理器连接,用于储存不可变更的信息;移动可信计算模块由嵌入式终端通过USB接口供电,所述电源模块与所述USB接口相连,提供电压转换,给可信计算模块内的器件供电。
2.根据权利要求1所述的具有USB接口的移动可信计算模块,其特征在于所述微处 理器通过软件算法实现RSA算法引擎、AES算法引擎、RNG引擎和SHA-I算法引擎。
全文摘要
本发明公开一种具有USB接口的移动可信计算模块,包括微处理器、EEROM存储器、电源模块和USB接口;所述微处理器通过USB接口与嵌入式终端进行通信,调度模块内的算法和功能;所述EEROM存储器与所述微处理器连接,用于储存不可变更的信息;移动可信计算模块由嵌入式终端通过USB接口供电,所述电源模块与所述USB接口相连,提供电压转换,给可信计算模块内的器件供电。USB接口为嵌入式手机终端常用标准接口,本发明基于USB接口设计可信计算模块与手机终端的通信协议,利用可信计算模块内的安全功能部件,构建一个可信计算环境,从而达到手机安全的目的。
文档编号G06F13/38GK101894087SQ20101022284
公开日2010年11月24日 申请日期2010年7月8日 优先权日2010年7月8日
发明者吴鹤意, 唐小川, 李涛, 胡爱群 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1