收藏 分享(赏)

tpm系统中hmac的设计与asic实现.docx

上传人:精品资料 文档编号:7664505 上传时间:2019-05-23 格式:DOCX 页数:81 大小:655.48KB
下载 相关 举报
tpm系统中hmac的设计与asic实现.docx_第1页
第1页 / 共81页
tpm系统中hmac的设计与asic实现.docx_第2页
第2页 / 共81页
tpm系统中hmac的设计与asic实现.docx_第3页
第3页 / 共81页
tpm系统中hmac的设计与asic实现.docx_第4页
第4页 / 共81页
tpm系统中hmac的设计与asic实现.docx_第5页
第5页 / 共81页
点击查看更多>>
资源描述

1、上海交通大学硕士学位论文TPM系统中 HMAC的设计与ASIC实现姓名:顾正付申请学位级别:硕士专业:电路与系统指导教师:周玉洁20051201上海交通大学硕士学位论文上海交通大学学位论文原创性声明本人郑重声明所呈交的学位论文是本人在导师的指导下独立进行研究工作所取得的成果 除文中已经注明引用的内容外本论文不包含任何其他个人或集体已经发表或撰写过的作品成果对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明本人完全意识到本声明的法律结果由本人承担学位论文作者签名顾正付日期42006年 1月 18日上海交通大学硕士学位论文上海交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保

2、留 使用学位论文的规定同意学校保留并向国家有关部门或机构送交论文的复印件和电子版 允许论文被查阅和借阅本人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数据库进行检索缩印或扫描等复制手段保存和汇编本学位论文可以采用影印保密本学位论文属于不保密请在以上方框内打在 年解密后适用本授权书学位论文作者签名顾正付 指导教师签名周玉洁日期 年 月日 日期5年月日上海交通大学硕士学位论文系统中的设计与实现摘 要随着社会信息化水平的日益进步 信息安全越来越引起世人的关注密码技术的飞速发展为信息安全提供了最强有力的保护 可信平台模块是由可信计算工作组()制定的开放的硬件的可信计算和安全技术标准它的处理

3、系统包含了大量的数据加密标准其系统关键部分之一的信息验证码同(安全算法)算法结合提供了原始数据验证和安全性保护 算法在身份验证和数据完整性方面可以得到很好的应用 在目前网络安全也得到较好的实现 然而大多数应用通过软件实现,但其安全性很难得到真正的保障于是研究安全算法的硬件实现已成为热点本文从的一些关键协议和()的具体算法出发以追求芯片面积的最小化为目标 针对位微处理器设计了协处理器 通过采用一些有效的数字电路设计技术用来减小协处理器的面积功耗和增大工作频率通过分析各种攻击方法来增加协处理器的安全性6上海交通大学硕士学位论文本文分析了可靠平台模块和()在信息安全中的具体应用重点描述了协处理器的级

4、设计设计了协处理器的具体架构 最后利用综合工具和的工艺得出了协处理器的最大工作频率和综合面积经分析后可以应用到模块中同时也可以作为一个独立的核应用于别的系统中协处理器的设计实现和芯片化方案对于信息安全产品的发展和普及具有积极的意义 对于现代集成电路设计中相关手段和技术的应用也提供了相应的实践价值关键词,安全7上海交通大学硕士学位论文ASIC IMPLEMENTATION OF THE HMAC FORTRUSTED PLATFORM MODULE , , () () () () , , , , 8上海交通大学硕士学位论文 , : , , , 9上海交通大学硕士学位论文第一章 可信计算平台研究意

5、义研究意义()信息安全关系到国家安全 国民经济发展和稳定随着经济全球化与网络化的进一步深入 即将入世的中国既面临着发展经济的千载难逢的机遇 同时也面临着前所未有的挑战 电信和金融市场的不断开放 电子商务的日益成熟和普及 信息产业已经日益成为国家的经济支柱 信息安全作为信息产业的支撑和保障必将受到黑客群体和经济犯罪的有力挑战 不断的黑客破坏事件 恶性病毒的蔓延 给中国经济乃至世界经济造成了极大的破坏 另外 信息安全与否还直接关系国家的国防安全 不可否认 中国的技术和信息安全技术落后于西方发达国家正需要一个稳定的经济发展环境的中国将不断面临着发达国家信息入侵的威胁发展具有我国自主知识产权的信息安全

6、芯片 关系到国家的安全 国民经济的发展和稳定容辞的责任为我国的网络提供安全保护的重担是国内业义不()提高信息安全产业的整体技术水平 带动相关产业的发展可提高国内信息安全产业的整体技术水平 带动各行各业信息安全方面的应用 带动相关产业的发展 比如产业 软件业等 随着信息产业的健康发展 将为国家防务 金融服务 电子商务等行业提供坚强的后盾同时将吸引更多优秀的人才进入信息安全行业展共同推动该产业的蓬勃发由于信息安全所涉及到的技术 产品 方案和服务的内容与形式一直处在不断变化和发展之中信息安全主流技术的发展经历了从非对称计算13上海交通大学硕士学位论文技术到密码保护技术 再到信任计算技术三个阶段 信息

7、安全产品的发展经历了从被动防范到积极防御 再到可信计算三个阶段 信息安全方案的发展经历了从外网安全到内网安全方案技术发展的三个阶段再到应用安全方案三个阶段在普及电脑的初期 主要依靠口令字 非标准存储格式等方法保护秘密信息 其安全原理是依靠信息的合法拥有者与系统外部人员之间掌握“钥匙信息”的不对称性实现 随着网络的兴起 实体之间交换敏感信息需要新技术来进一步确保安全 于是古老的密码技术得到了迅猛的发展 依靠密码算法与密钥相结合来确保信息的机密性 完整性以及实体身份的惟一性和操作与过程的不可否认性 这个阶段为密码保护技术阶段 随着网络互联互通 特别是因特网的普及 全球范围内基于信任前提的网络设备与

8、协议的标准化与构建化使信息交换极其容易同时也造成密码保护成为不可加载或容易旁路的技术 人们于是将底层的计算技术与密码技术紧密结合从而推动信息安全技术研究目前进入可信计算技术阶段可信计算技术的实质是要求信息系统中的交易和计算设备要:可信以已知方案运行 并能够事先与该方案进行通信 可靠 总是可用于交易和通信 并可抵抗病毒和其他入侵安全 能够停止多余的干扰或观察程序;受保护 为了实现计算机保密 只与在常用参数设定范围内的必要人员共享信息可信计算平台可信计算平台作为实现可信计算技术的核心 成为信息系统的基础性和平台性设备可信计算平台的可信根源来自于可信平台模块 可信平台模块是一种硬件设备 与平台主板相

9、连 用于验证身份和处理计算机或设备在可信计算环境中使用的变量 和存储在其中的数据与平台所有其他组件分离 可信平台模块 其本身就是14上海交通大学硕士学位论文一个小型的控制和管理系统作为平台运行时的信任源 系统的所有安全认证和安全调用都通过来完成 并建立起一条网络应用软件操作系统 硬件 用户的完整的信任链关系 在信任传输的作用下实现安全机制的整体性检查 信性从而确保了各环节的可信性进而保证了整个系统的可可信计算平台其主要功能是确保用户身份权限的真实性 合法性工作空间的完整性可用性确保存储 处理 传输的机密性 完整性确保硬件环境配置操作系统内核服务及应用程序的完整性 确保密钥操作和存储的安全确保系

10、统具有免疫能力从根本上防止病毒和黑客在构筑信息安全环境 保障源头安全方面起着十分重要的作用 在网络环境下的用户认证不仅可以包括用户的身份信息 而且可以包括的硬件信息 从而可以更好地保证网络通信安全 身份认证安全 并最终使防病毒防入侵等最基本的信息安全功能与可信计算平台实现最佳的结合“可信计算 ”技术的核心是称为 可信平台模块 的安全芯片 实际上是一个含有密码运算部件和存储部件的小型片上系统 以为基础 可信机制主要通过三个方面来体现可信的度量 任何将要获得控制权的实体 都需要先对该实体进行度量 主要是指完整性的计算从平台加电开始 直到运行环境的建立 这个过程就一直在进行;度量的存储 所有度量值将

11、形成一个序列 并保存在中 同时还包括度量过程日志的存储;度量的报告 对平台是否可信的询问正是通过“报告” 机制来完成的任何需要知道平台状态的实体需要让报告它这些度量值和相关日志信息 这个过程需要询问实体和平台之间进行双向的认证 如果平台的可信环境被破坏了 询问者有权拒绝与该平台的交互或向该平台提供服务可信计算的应用前景15上海交通大学硕士学位论文对我国信息化建设来说 电子政务 电子商务系统 企业信息化系统军队机要 通信 作战指挥系统等均迫切需要安全可信的计算平台来构筑其安全保障体系在电子政务系统的建设中身份认证 授权管理责任审定需要以可信计算平台为基础;其次 对涉密网和非涉密网进行安全隔离所用

12、到的有关技术措施如安全网关 安全网闸 安全的防火墙等更需要以可信计算平台为基础和的实现意义 可信平台模块 是由可信计算工作组()制定的开放的硬件的可信计算和安全技术标准 它的处理系统包含了大量的数据加密标准 包括对称加密非对称加密算法 其系统关键部分之一的 信息验证码 同(安全算法)算法结合提供了原始数据验证和安全性保护 作为信息安全产品的低端应用部分其关键是在保证一定速度的前提下追求面积的最小化 这一系统的设计实现和芯片化方案对于信息安全产品的发展和普及具有积极的意义和技术的应用也提供了相应的实践价值软件加密和硬件加密技术对于现代集成电路设计中相关手段近年来人们对于密码的软 硬件实现进行了大

13、量的研究,提出不少新的易于实现的算法 其中有些算法适合硬件实现 有些算法适合软件实现有些算法则是兼顾两者的需要来实现的 软件加密和硬件加密各有其特点任何加密算法都可用软件实现 软件加密的优点是灵活 轻便 可安装于多种机器上 且可将几个软件组合成一个系统 如与通信程序 字处理程序等相结合 但是软件加密速度低 占用一些计算机和存储资源 且易被16上海交通大学硕士学位论文移植 相对于软件加密 硬件加密有如下几个优点:加密速度快 许多算法 如和 大都是串操作 而不是计算集中的标准操作快速方便它们在微处理器上实现的效率很低而采用硬件实现安全性好 软件实现不可能由物理保护 攻击者可能有各种调试软件工具 可

14、毫无察觉得偷偷修改算法 而硬件可以封装 可以防窜扰 因而难以入侵修改 外面可以加上化学防护罩 任何试图解剖芯片的行动都会破坏其内部逻辑 导致存储的数据自行擦除易于安装 多数硬件的应用独立与主机在计算机环境下 如以软件实现 则须在操作系统的深层安装 这不大容易实现;而采用硬件 能方便且加密透明于用户本文的研究内容工作本文主要研究系统的算法 系统设计及 寄存器传输级 描述 直至整体系统的前端实现 研究的范围包括了的实现以及和系统中微处理器的接口实现 通过对系统的算法研究与分析 基于的算法级仿真 进行行为级的描述和层次的设计 验证 建立完整的的模块,并在此基础上实现的整体系统17上海交通大学硕士学位

15、论文第二章 密码学原理密码学简介密码学基本介绍信息安全是密码学的基本要求 为了要达到这一点 密码学始终涉及两个方面的斗争 其中一方 发送者 是设法对消息进行加密 使得只能是具有特殊权利的人 接受者 才能够接受和阅读信息 而另一方则是尽力设法截获信息 破译密文 或者用修改以后的假信息欺骗接收者待加密的消息被称作明文() 用某种方法伪装消息并隐藏它的内容的方法称作加密() 被加密以后的消息称为密文 而把密文转变成明文的过程称为解密 加密体制中的加密运算是由一个算法类组成 这些算法类的不同运算可用不同的参数表示 不同的参数分别代表不同的算法 被称作密钥 密钥空间是所有密钥的集合 密码体制一般是指密钥

16、空间与相应的加密运算结构 同时还包括了明文和密文的结构特征 在密码体制的设计和评价中要考虑到以下一些基本原则()不可破原则 指该密码体制在理论上或实际上是不可破解的()部分信息丢失不会影响整个系统的安全性 即硬件设备 加密算法或全部密文与部分明文这些信息的丢失不会危及整个系统的安全()与计算机通信系统匹配原则可以在计算机或通信系统中使用算法分类要求密码系统不是独立存在的而密码体制发展到现在 已经有了很多种不同的类型 但是从密码体制所使用算法的分类上说可以分为两种18上海交通大学硕士学位论文()对称算法对称密码算法有时又叫传统密码算法就是加密密钥能够从解密密钥中推算出来反过来也成立在大多数对称算

17、法中加密解密密钥是相同的这些算法也叫秘密密钥算法或单密钥算法 它要求发送者和接收者在安全通信之前 商定一个密钥 对称算法的安全性依赖于密钥 泄漏密钥就意味着任何人都能对消息进行加密解密 只要通信需要保密 密钥就必须保密 对称算法的加密和解密表示为EK (M ) C;DK (C) M (2-1)对称算法可分为两类一次只对明文中的单个位 有时对字节运算的算法称为序列算法或序列密码 另一类算法是对明文的一组位进行运算这些位组称为分组 相应的算法称为分组算法或分组密码 现代计算机密码算法的典型分组长度为位这个长度大到足以防止分析破译 但又小到足以方便作用 这种算法具有如下的特性 DK ( EK ( M

18、 ) M常用的采用对称密码术的加密方案有个组成部分()明文 原始信息()加密算法 以密钥为参数 对明文进行多种置换和转换的步骤 变换结果为密文()密钥()密文加密与解密算法的参数对明文进行变换的结果直接影响对明文进行变换的结果()解密算法 加密算法的逆变换 以密文为输入 密钥为参数 变换结果为明文对称密码术的优点在于效率高 加 解密速度能达到数十兆 秒或更多 算法简单 系统开销小 适合加密大量数据尽管对称密码术有一些很好的特性 但它也存在着明显的缺陷 包括()迸行安全通信前需要以安全方式进行密钥交换19这一步骤在某种上海交通大学硕士学位论文情况下是可行的 但在某些情况下会非常困难 甚至无法实现

19、()规模复杂 个用户的团体需要个不同的密钥()公开密钥算法公开密钥 密码体制出现于年 它最主要的特点就是加密和解密使用不同的密钥 每个用户保存着一对密钥公开密钥和秘密密钥 因此 这种体制又称为双钥或非对称密钥密码体制在这种体制中 是公开信息 用作加密密钥 而需要由用户自己保密 用作解密密钥 加密算法和解密算法也都是公开的 虽然与是成对出现 但却不能根据计算出 公开密钥算法的特点如下()用加密密钥对明文加密后 再用解密密钥解密 即可恢复出明文 或写为 DSK ( EPK (M ) M()加密密钥不能用来解密 即 DPK ( EPK (M ) M()在计算机上可以容易地产生成对的和()从已知的实际

20、上不可能推导出()加密和解密的运算可以对调 即 EPK (DSK (M ) M公开密钥算法的优点是加解密双方密钥分配方便 安全性很高 缺点是编码效率不高 随着破解技术的进步 所需密钥的位数越来越大 这样效率更低在公开密钥密码体制中密钥数据加密标准函数和最有名的一种是体制它已被推荐为公开所有函数的输入都可看作是一个位分组的序列 其输出是位的值 函数每次处理一个分组重复该过程直至处理完所有的输入分组 广泛应用的函数有个 ,以及用于消息认证码()的密码算法有对称分组密码和密码函数,其20上海交通大学硕士学位论文中更广泛应用的是利用密码函数来设计,因为一般像和这样的函数,其软件执行速度比诸如这样的对称

21、分组密码要快可以利用函数代码库美国和其它国家对密码函数没有出口限制,而对即使用于的对称分组密码都有出口限制算法是一种执行“校验和” 的算法 它通过对数据进行“求和”来检查数据是否被更改了 在发送数据以前, 算法对数据块和双方约定的公钥进行 “散列操作 ”,以生成称为 “摘要 ”的东西,附加在待发送的数据块中 当数据和摘要到达其目的地时,就使用来生成另一个校验和 如果两个数字相匹配,那么数据未被做任何篡改 否则,就意味着数据在传输或存储过程中被某些居心叵测的人作了手脚消息认证消息认证就是验证所受到的消息确实是来自真正的发送方且未被修改的消息 它也可验证消息的顺序和及时性 任何消息认证在功能上基本

22、可看作有两层,下层中一定有一种产生认证符的函数,认证符是一个用来认证消息的值;上层协议中将该函数作为原语使接收方可以验证消息的真实性产生认证符的函数可以分为如下三类:()消息加密:整个消息的密文作为认证符()消息认证码():它是消息和密钥的公开函数,它产生定长的值,以该值作为认证符()函数:它是将任意长的消息映射为定长的值的公开函数,以该值作为认证符21上海交通大学硕士学位论文消息加密消息加密本身提供了一种认证手段,传统密码和公钥密码体制中,对消息加密的分析不同 对称加密是指发送方用和共享的密钥对发送到接收方的消息加密 但是使用对称加密的消息认证中,接收方判断解密出来的明文是否具有规律性来进行

23、判别,但是对于二进制文件和无规律性的文件不能进行判别 因此,这种方式不能提供广泛意义上的认证公钥密码体制的简单认证方案是:用其私钥对消息加密,而用的公钥对接收的消息进行解密 如果既要提供保密性又要提供认证 那么可先用私钥对加密 这就是数字签名然后用的公钥对上述结果加密这可保证保密性 但这种方法的缺点是,一次通信中要执行四次复杂的公钥算法而不是两次消息认证码消息认证码利用密钥来生成一个固定长度的短数据块,并将该数据块附加在消息之后 当向发送消息时,则计算,它是消息和共享密钥的函数,然后将消息和一起发送给接收方 接收方用密钥对接收到的消息进行相同的计算,并将接收到的与计算出的进行比较要保密性时,其

24、具体方式如下:当需M K1|EEK2(M|CK (M) DMCK1比较K2 K2CCK(M)图:消息认证和保密Figure 2-1: Message Authentication and Security其中密钥 K2提供了保密功能 ,密钥 K1提供了认证功能22图中的 M代表上海交通大学硕士学位论文输入消息 C代表 MAC函数 K1和 K2是双方共享的密钥 ,E表示加密 D表示解密函数单向 hash函数的输入是数据长度可变大小的消息 M,输出是固定大小的 hash码,hash码并不使用密钥,它仅是输入消息的函数 它具有检测错误的能力,即改变消息的任何一位或多位,都会导致 hash码的改变ha

25、sh码用于消息认证有各种消息加密,其中一种是用对称密码对消息及附加在其后的 hash码加密的数量而且这种方式提供了认证和保密性,减少了密钥M |E DM H比较EK(H| (M) KKHH(M)图:消息认证和保密Figure 2-2: Message Authentication and Security安全函数安全 hash算法(SHA)由美国标准与技术研究所(NIST)设计并于 1993年作为联邦信息处理标准发布,修订版于 1995年发布,通常称之为 SHA-1该标准称为安全 hash函数算法步骤SHA-1算法的输入是长度小于 264bit的消息输出是 160bit的消息摘要输入消息以 5

26、12bit的分组为单位进行处理 SHA-1算法包含下列步骤(1)增加填充位填充消息使其长度与 448模 512同余23即长度上海交通大学硕士学位论文448mod512 即使消息已经满足上述长度要求 仍然需要进行填充因此填充位数在 1到 512之间 填充由一个 1和后续的 0组成(2)填充长度 在消息后附加 64bit 将其看作 64bit的无符号整数 最高有效字节在前 它包含填充前消息的长度(3)初始化缓冲区 SHA-1函数的中间结果和最终结果保存于 160bit的缓冲区中 缓冲区用 5个 32bit的寄存器 (A B C D E)表示 并将寄存器初始化为下列 32bit的整数A=0x6745

27、2301B=0xEFCDAB89C=0x98BADCFED=0x10325476E=0xC3D2E1F0(4)以 512bit的分组为单位处理消息 算法的核心是具有四轮运算的模块 每轮执行 20步迭代 四轮运算结构相同 但各轮使用不同的基本逻辑函数 f和加法常量 k t0 t 19, f (B C ) (B D ), kt 5 A82799920 t 39, f B C D, kt 6ED9EBA140 t 59, f ( B C) ( B D) (C D ), kt 8F1BBCDC60 t 79, f B C D, kt CA62C1D6其中 分别代表逻辑按位与 或 异或 非操作 第 4轮

28、最后一步的输出与第一轮的输入 CVq 相加得到 CVq1 这里的加法是指缓冲区中对应的字的模 2 32相加(5)输出:所有的 L个 512位的分组处理完成后,第 L个分组的输出即是160的消息摘要.我们可以将 SHA-1的处理过程归纳如下:24t上海交通大学硕士学位论文CV0 IVCVq1 SUM 32 (CVq , ABCDE q ) (2-1)MD CVL其中:IVABCDEqLSUM 32MD=第三步缓冲器 ABCDE的初值=处理第 q个消息分组时最后一轮的输出=消息中分组的个数(包括填充位和长度域)=对输入字分别执行模 232加法=消息摘要压缩函数在此运算中 消息分组只有 512bit

29、 即 16个字 而运算要执行 80步故需要从 16组 32bit的值中导出剩余 64组 32bit的值 其中 Wt的前 16个值即是当前分组的 16个值 其他 64个值可以从下面公式计算得到wt (wt16 wt14 wt 8 wt 3 ) 1处理一个 512bit的分组要执行 80步 每步具有下列形式其中 :A, B, C, D, E ( E f t B, C, DA5+W Kt ), A, B 30, C, D (2-2)A,B,C,D,Etf t B, C, D缓冲区的 5个字步骤编号 0 t 79第 t步使用的基本逻辑函数WtKt32的变量循环左移 k位从当前 512位输入分组导出的

30、32位字加法常量,共使用了 4个不同的加法常量其中这里的加法表示模 232相加25上海交通大学硕士学位论文图:的基本操作(单步)Figure 2-3: SHA1 Basic Operation (one round)算法在开放的计算与通讯世界中 提供一种途径去检测通过不可靠媒介传输或存储的信息完整性是非常重要的 提供这种完整性检测的机制基于一种通常被称作消息鉴别码的密钥 MAC 一般的 消息鉴别码用于验证传输于两个共同享有一个密钥的单位之间的消息在本设计中 我们将描述一种基于散列函数的消息鉴别码机制 这种机制被称为 hash消息验证码HMACHMAC可以与任何迭代散列函数捆绑使用,HMAC还可

31、以使用一个用于计算和确认消息鉴别值的密钥这种结构的主要作用是(1)不用修改就可以使用适合的散列函数,而且散列函数在软件方面表现的很好,并且源码是公开和通用的(2)可以保持散列函数原有的性能而不致使其退化(3)当发现或需要运算速度更快或更安全的散列函数时实现底层散列函数的替换26可以很容易的上海交通大学硕士学位论文目前 可供选择的散列函数有, 这些不同的实现被表示为 ,等等总体结构图 2-4给出了 HMAC的总体结构,定义下列符号:HIVMYiLbnK嵌入的 hash函数作为 hash函数输入的初始值HMAC的消息输入(包括嵌入到 hash函数中定义的填充位)M的第 i个分组( 0 i L 1)

32、M的分组数每一分组所含的位数嵌入到 hash函数所产生的 hash码长密钥;若密钥长度大于 b,则将密钥作为 hash函数的输入 ,来产生一个 n位的密钥;K+ipadopad为使 K为 b位长而在 K左边填充 0后所得的结果00110110(十六进制数 36)重复 b/8次的结果01011100(十六进制数 5C)重复 b/8次的结果HMAC可描述如下:HMACK(M)=H( K+ XOR opad, H(K + XOR ipad,M)(2-3)其算法步骤可用具体框图描述如下:27上海交通大学硕士学位论文K+ipadSi Y0 Y1 YL-1opadK+IVS0hashH(Si|M)填充至

33、b位IV hash HMACk(M)图:算法步骤Figure 2-4:HMAC Arithmetic StepHMAC的具体算法步骤为(1)在密钥 K后面添加 0来创建一个字长为 b的字符串 K+(2)将上一步生成的 b字长的字符串与 ipad做异或运算 ,产生字符串 Si(3)将数据流 M填充至第二步的结果字符串中(4)用 H作用于第三步生成的数据流(5)将第一步生成的 b字长字符串与 opad做异或运算,产生字符串 S0(6)再将第四步的结果填充进第五步的结果中(7)用 H作用于第六步生成的数据流 实现优化输出最终结果由 HMAC算法可知 ,HMAC多执行了三次 hash压缩函数 (对 S

34、i28S0和内上海交通大学硕士学位论文部的 hash产生的分组) 但是对于长消息时间应该大致相同HMAC和嵌入的 hash函数执行实现 HMAC更有效的方法可以预先计算两个值 f(IV,( K+ XOR opad)和f(IV,( K+ XOR ipad)其中 f(cv,block)是 hash函数的压缩函数 上述这些值只有初始化和密钥改变时才需计算因此这些预先计算的值可以取代 hash函数的初值(IV)这样 只需多执行一次压缩函数 在大多数产生 MAC消息都较短的情况下这种实现特别有意义29产上海交通大学硕士学位论文第三章 系统在 TCG组织所订的规范中 TPM必须支持 RSA,SHA-1和

35、HMAC算法强调这些算法的原因有二 ,第一是明白和理解这些算法的特性 在协议中确定合适的密钥长度和保证正确的使用 第二是协同工作时确定一个基本的算法级别在设计的 TPM系统中采用 MC8051作为微程序控制器采用 LPC作为输入输出总线3.1TPM系统结构TPM系统用来进行签名和认证 其必然包含着加密协处理器和密钥产生系统 也包含着输入/输出口和一些基本的存储器 其基本的组成如下图所示输入/输出口加密协处理器HMAC处理器SHA-1处理器模式选择系统非易失性存储器密钥产生器随机数发生器功耗检测系统处理器易失性存储器图:系统结构Figure 3-1:TPM System Architecture

36、输入和输出口30上海交通大学硕士学位论文它为内部和外部数据总线按照一定的协议提供合适的输入和输出数据口在系统设计中总线 采用了 Intel提供的 LPCLow Pin Count少针脚型接加密协处理器加密协处理器在 TPM系统中提供加密操作 TPM系统在合适的途径中选择合适的密码操作 这些操作包含公钥的产生 RSA算法 HASH算法以及随机数的产生 TPM系统利用这些操作来产生随机数 产生公钥和私钥 存储数据的签名和认证 在加密协处理器中 用户可以根据需要加进其它加密算法 如 DES或 AES在此处理器中 有一重要的数据加密标准 RSA RSA算法必须 2048位的长度的密钥且 TPM系统可以

37、用其来进行加密和签名密钥产生器密钥产生器用来产生 RSA所使用的一对公钥和私钥以及对称密钥 对于非对称和对称密钥的产生 TPM系统没有次数限制对于公钥加密标准 RSA,密钥产生器必须一对公钥和私钥 且公钥和私钥的产生必须遵循公钥密码标准 IEEE P1363;对于临时交互号 NONCE其数据必须由随机数产生器来产生处理器HMAC处理器在 TPM系统中提供了两种功能 证明授权数据的合法性以及到达的命令请求是被授权且在传输过程中没有被修改 TPM系统规定 HMAC算法必须遵循 RFC2104即密钥的长度为 20Bytes和消息的长度为 64Bytes随机数产生器31上海交通大学硕士学位论文随机数产

38、生器是 TPM系统中随机数的产生源 TPM利用这些随机数作为签名时用的临时交互号密钥 TPM规定了它必须每次可以产生 32Bytes随机性的随机数 处理器它包含了熵源和收集系统状态寄存器和混合系统SHA-1算法作为 hash算法中的一种 主要用于消息摘要和 HMAC计算时所用 SHA-1处理器对外提供接口 并且遵循 FIPS-180-1协议功耗检测系统功耗检测系统控制着 TPM系统的功耗状态 并且注意着所有的功耗状态变化情况 它也支持物理状态检测 当操作平台对一些命令不支持时TPM系统将会限制一些命令的执行模式选择系统模式选择系统提供保护机制用来控制着 TPM的开关 激活以及所有权 模式选择系

39、统的状态位必须由 TPM的所有者或操作平台来设置执行处理器执行处理器运行程序码用来执行来自 TPM中的 I/O口的命令 它是用来确保操作被隔离和防护层被保护的极其重要的处理器可信平台模块中的认证协议可信平台中的认证协议机制的作用是证明使用者对 TPM的一些功能是否具有合法使用的功能,它的基础是一个共享的密钥必须使用下面协议中的一种来进行认证32对任何使用者来说,他上海交通大学硕士学位论文(1)OIAP:Object-Independent Authorization Protocol,即独立实体认证协议 它允许任何使用实体和 TPM之间进行临时交互号(nonce)的相互交换当 OIAP的会话密

40、钥建立以后,它的临时交互号可以用于 TPM管理的任何实体(2)OSAP:Object-Specific Authorization Protocol,即特殊实体认证协议 它允许为实体建立一个独立的会话密钥 会话密钥可以为一个实体建立用于全部命令的临时交互号,但是这个临时交互号不能应用去其它任何实体(3)DSAP:Delegate-Specific Authorization Protocol,即特殊代表认证协议,它允许TPM的管理者创建一个认证数据并删除一些TPM 所有者的权利由于本设计主要讲述HMAC在TPM中的应用,因此主要分析了OIAP和OSAP认证协议的过程以及他们的相同和不同点,而对DSAP认证过程没有做详细的叙述和认证过程在讲述两个认证协议的认证过程之前,我们先定义一系列术语NonceOdd:由实体产生的160位临时交互号authLastNonceEven:由TPM产生用来输出的160位临时交互

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报