TPM及其工作原理

  • 格式:pdf
  • 大小:298.69 KB
  • 文档页数:6

TPM及其⼯作原理

TPM安全芯⽚

TPM(Trusted Platform Module)安全芯⽚,是指符合TPM(可信赖平台模块)标准的安全芯⽚,它能有效地保护PC、防⽌⾮法⽤

户访问。

TPM标准:1999年10⽉,多家IT巨头联合发起成⽴可信赖运算平台联盟(Trusted Computing Platform Alliance,TCPA),

初期加⼊者有康柏、HP 、IBM、Intel、微软等,该联盟致⼒于促成新⼀代具有安全且可信赖的硬件运算平台。2003年3

⽉,TCPA增加了诺基亚、索尼等⼚家的加⼊,并改组为可信赖计算组织(Trusted Computing Group,TCG),希望从跨平

台和操作环境的硬件和软件两⽅⾯,制定可信赖电脑相关标准和规范。并在并提出了TPM规范,⽬前最新版本为1.2。

符合TPM的芯⽚⾸先必须具有产⽣加解密密匙的功能,此外还必须能够进⾏⾼速的资料加密和解密,以及充当保护BIOS和操

作系统不被修改的辅助处理器。

TPM安全芯⽚⽤途⼗分⼴泛,配合专⽤软件可以实现以下⽤途:

1、存储、管理BIOS开机密码以及硬盘密码。以往这些事务都是由BIOS做的,玩过的朋友可能也知道,忘记了密码只要取下

BIOS电池,给BIOS放电就清除密码了。如今这些密钥实际上是存储在固化在芯⽚的存储单元中,即便是掉电其信息亦不会丢

失。相⽐于BIOS管理密码,TPM安全芯⽚的安全性要⼤为提⾼。

2、TPM安全芯⽚可以进⾏范围较⼴的加密。TPM安全芯⽚除了能进⾏传统的开机加密以及对硬盘进⾏加密外,还能对系统登

录、应⽤软件登录进⾏加密。⽐如⽬前咱们常⽤的MSN、QQ、⽹游以及⽹上银⾏的登录信息和密码,都可以通过TPM加密后

再进⾏传输,这样就不⽤担⼼信息和密码被⼈窃龋

3、加密硬盘的任意分区。我们可以加密本本上的任意⼀个硬盘分区,您可以将⼀些敏感的⽂件放⼊该分区以策安全。其实有

些本本⼚商采⽤的⼀键恢复功能,就是该⽤途的集中体现之⼀(其将系统镜像放在⼀个TPM加密的分区中)。

⽬前提供TPM安全芯⽚的⼚商也不少,由于其不⾯对最终消费者,⼤家可能都⽐较陌⽣。由于国外对于TPM安全芯⽚的研

发、制造起步较早,故⽽国外⼚商在这⽅⾯有着相当⼤的优势。国外⽣产的TPM安全芯⽚的主要⼚家有:英飞凌、意法半导

体(ST)、Atmel、华邦电⼦(收购美国国家半导体公司)等。国内⼚商这⽅⾯的研发起步较晚,⽬前仅有联想的“恒智”芯⽚

以及兆⽇公司的产品。

有些朋友以为TPM只能管理、保存密钥,功能不是太强,今后会不会没有发展前途呀?事实是否定的。⽬前⼴⼤笔记本⼚商

内置TPM更多的是防患于未然,毕竟⽀持TPM的系统还没有出现,因⽽⽬前⼴⼤⼚商都是采⽤第三⽅软件来实现TPM的部分

功能,提供例如⽂件加解密等服务。在Vista正式发布之后,TPM安全芯⽚将真正开始发挥其幕后英雄的本⾊,⼤量的系统安

全功能也都将通过其来实现。⽽在将来,随着微软NGSCB技术的正式推⼴,TPM将在真正意义上扮演PC的保护神,让我们

的电脑真正摆脱⽊马、病毒的骚扰。看来得到软硬件两⽅⾯⽀持的TPM安全芯⽚今后前途⽆量,TPM安全芯⽚在今后的本本

安全领域上的作⽤将更加凸现。

在昨天的Wedbush Morgan Securities年度⾼层会议上,雅达利公司创建者之⼀的诺兰·布什内尔(Nolan Bushnell)称,游戏

产业⽬前⾯临的盗版泛滥问题,在过不久将随着新型加密芯⽚的逐步普及⽽成为历史。

“⼀种名为TPM的加密芯⽚即将被使⽤在今后的⼤部分电脑主板上。”布什内尔在会议上说道:“这就意味着游戏产业将迎来⼀

种全新的、绝对安全的加密⽅式,它⽆法在⽹络上被破解也不存在注册码被散播的危险,它将允许我们在那些盗版极为严重的

地区开拓巨⼤的新市场。”

布什内尔认为,电影和⾳乐的盗版很难被阻⽌,因为只要是“能看、能听的就可以拷贝”。然⽽电⼦游戏的情况则完全不同,由

于这类产品与代码的紧密联系性,使⽤TPM芯⽚将能够完全阻⽌盗版游戏的运⾏。

“⼀旦TPM芯⽚的普及率达到⾜够⾼的⽔准,我们就可以开始看到在亚洲和印度等盗版泛滥地区正版软件收⼊的逐步增长,⽽

这在以前是⼏乎是不可想象的。”

基于TPM芯⽚的计算机安全启动系统设计

摘 要: 提出了⼀种安全芯⽚的设计及其保护BIOS、底层固件、操作系统以及应⽤模块的⽅法。通过密码学原理和集成电路技

术设计实现的⼀款安全芯⽚,能够有效地防⽌对计算机系统中操作系统、应⽤模块以及BIOS的攻击。关键词: BIOS TPM安全芯⽚ 安全启动系统

1 技术背景

当前,计算机系统已被⼴泛应⽤在⼈们的⽇常⽣活中。计算机的启动过程是⾸先运⾏BIOS(Basic Input Output System)[1],对计算机系统进⾏检测和配置,然后装载操作系统并运⾏部分底层固件[2]。计算机中的BIOS通常存储在闪存(Flash)这种

⾮易失性存储器中[3],⽽BIOS常常是被病毒、⿊客攻击的对象。其攻击⽅式是通过执⾏代码修改BIOS,从⽽造成BIOS或操

作系统被破坏。由于BIOS是先于操作系统和病毒检测软件运⾏的,因此通过软件⽅式清除、检查BIOS中的病毒⼗分困难。所

以本⽂通过使⽤TPM(Trusted Platform Module)安全芯⽚,对计算机主板进⾏改进,设计实现计算机安全启动系统。

1.1 TPM芯⽚的设计

安全芯⽚是安全PC的基础。由Compaq、HP、IBM、Intel、Microsoft五家公司成⽴的TCPA(Trusted Computing PlatformAlliance)联盟(于2003年4⽉改名为TCG,Trusted Computing Group)注重PC的安全特性,提出了以硬件安全作为保证计算

机安全的思想,TPM芯⽚就是基于此种想法设计的安全芯⽚。

为了有效地保护计算机系统的BIOS、操作系统以及其他底层固件的安全,有必要在系统启动BIOS之前,对BIOS进⾏验证。

只有确认BIOS没有被修改的情况下,系统才启动BIOS。启动BIOS之后,可以进⼀步验证操作系统和其他底层固件。当所有

的验证都通过时,计算机系统才可以正常运⾏。由于BIOS先于操作系统和其他软件运⾏[2],因此,通过软件验证BIOS是⾮常

困难的。为了解决这⼀难题,本⽂设计⼀款TPM安全芯⽚,⽤于保护计算机系统的BIOS。

图1为安全芯⽚的结构图。图中,主处理器模块完成对整个安全芯⽚的控制;加密模块完成对称密码算法、杂凑算法等密码算

法;接⼝模块⽤于与计算机系统主板上的桥系统进⾏连接;RAM⽤于存储中间结果;Flash⽤于存储芯⽚中的芯⽚操作系统COS。

1.2 TPM安全芯⽚⼯作原理

TPM安全芯⽚在计算机主板上的应⽤如图2所⽰。

通过TPM安全芯⽚对计算机系统提供保护的⽅法为:(1)在主板上设置TPM安全芯⽚;(2)启动信息处理设备时,由TPM芯⽚验

证当前底层固件的完整性,如正确则完成正常的系统初始化后执⾏步骤(3),否则停⽌启动该信息处理设备;(3)由底层固件验

证当前操作系统的完整性,如正确则正常运⾏操作系统,否则停⽌装⼊操作系统。总之,此⽅法是通过在信息处理设备的启动

过程中对BIOS、底层固件、操作系统依次进⾏完整性验证,从⽽保证信息处理设备的安全启动之后,再利⽤TPM芯⽚内置的

加密模块⽣成并管理系统中各种密钥,对应⽤模块进⾏加解密,以保证计算机等信

息设备中应⽤模块的安全。

图2中,信息处理设备的CPU 与主板上的北桥相连,北桥与南桥和静态存储器(SRAM)分别直接相连[2],南桥分别与超级输

⼊输出接⼝(SuperIO)、BIOS 模块和安全芯⽚通过LPC(Low Pin Count Bus)总线直接相连,同时,计算机主板上的CPU 通

过读写控制线与安全芯⽚中的BIOS模块直接相连。安全芯⽚通过完整性校验检验主板上的BIOS模块是否被⾮法修改。

上述⽅法能够对BIOS的完整性进⾏验证,但它仅仅避免了BIOS中的病毒对操作系统的破坏,安全芯⽚并不能防⽌BIOS本⾝

被修改,只能在发现BIOS被修改后,停⽌启动计算机,因⽽该⽅法只是被动应对可能的攻击。

2 改进的安全措施

2.1 改进的TPM芯⽚设计

如图3所⽰,改进后的TPM芯⽚在原安全芯⽚的基础上集成了BIOS。改进后的TPM芯⽚中的主处理器模块在初始化后启动芯⽚中的BIOS程序,并判断对BIOS的操作是读操作还是写操作。在读BIOS代码之前,⾸先对其进⾏完整性验证,验证通过

后,可以进⼀步验证操作系统和其他底层固件的完整性,并且允许通过⾝份认证的⽤户修改BIOS代码,从⽽使得计算机系统

在启动时。这样,不但可以对BIOS、底层固件、操作系统以及应⽤模块依次进⾏完整性验证,避免了对操作系统和应⽤模块

的攻击,⽽且使得没有通过⾝份验证的攻击者⽆法修改BIOS代码,从⽽避免了对BIOS的攻击。

2.2 应⽤结构

如图4所⽰,装有TPM安全芯⽚(此处以及下⽂中的“TPM安全芯⽚”或“安全芯⽚”都是指改进后的集成BIOS的TPM安全芯⽚)

的计算机上电时,TPM安全芯⽚中的主处理器模块运⾏存储模块中的芯⽚操作系统COS,完成芯⽚内部的初始化;之后对BIOS模块的读写操作过程进⾏验证。BIOS模块中的读写控制接⼝与该TPM安全芯⽚所在设备的CPU相连,接收其发出的读

写信号,BIOS模块中的内部总线接⼝与TPM安全芯⽚内部的主处理器模块相连,由主处理器模块对读写BIOS模块的操作进⾏

验证。芯⽚的外部设备接⼝模块与TPM安全芯⽚所在设备相连,在主处理器模块的控制下,使TPM安全芯⽚与外部设备进⾏信息交互。

2.3 ⼯作过程

图5为TPM安全芯⽚应⽤于计算机系统的⼯作流程。

具体步骤如下:

(1)在确保计算机终端安全的环境下(如⽣产线上,或⽤户第⼀次使⽤时),⽣成BIOS和底层固件的完整性验证码,将其分别存储在TPM安全芯⽚中;将操作系统的完整性验证码存储在底层固件或TPM安全芯⽚中;将待保护应⽤模块的完整性检验码存

储在操作系统或TPM安全芯⽚中。

(2)在计算机终端加电时,计算机终端内的TPM安全芯⽚进⾏基本初始化。

(3)主板系统运⾏TPM安全芯⽚中的BIOS,TPM安全芯⽚根据信息处理设备的CPU发出的物理驱动信号,即相应的读写请求,

判断对BIOS进⾏读操作还是写操作,如果是读操作,则执⾏步骤(4),如果是写操作则执⾏步骤(8)。

(4)TPM安全芯⽚读出其内部的BIOS代码,并验证该BIOS代码的完整性,然后执⾏步骤(5)。

(5)TPM安全芯⽚验证底层固件的完整性,然后执⾏步骤(6)。

(6)TPM安全芯⽚验证待加载操作系统的完整性,然后执⾏步骤(7)。

(7)正常运⾏系统的操作系统,然后将TPM安全芯⽚定义为系统中的⼀个设备,并启动安全服务。

(8)允许通过⾝份认证的⽤户对TPM安全芯⽚内部的BIOS代码进⾏更新。

图6为读BIOS代码并验证其完整性的流程图。

具体步骤如下:

(1)系统加电启动,计算机终端内的TPM安全芯⽚进⾏基本初始化。

(2)计算机终端的CPU发出读BIOS代码的物理驱动信号。

(3)TPM芯⽚读取其内部的BIOS代码。

(4)对读取出来的BIOS代码进⾏完整性计算。

(5)从存储部件中读取预先保存的BIOS的完整性校验码,判断计算出的完整性校验码与预先保存的完整性校验码是否⼀致,如