下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 3-TPM核心功能

3-TPM核心功能.ppt

3-TPM核心功能

ilyxufu1
2012-04-24 0人阅读 举报 0 0 暂无简介

简介:本文档为《3-TPM核心功能ppt》,可适用于IT/计算机领域

TPM核心功能TPM核心功能羌卫中背景()背景()在包括关键任务的信息系统中我们需要保护数据并维护和提高使用Internet的信心传统的安全计算难以使用、并且开销很大可信计算提供了为保护和处理隐私和秘密数据的优化计算平台背景()背景()可信计算机提供了隔离环境可以限制对在该隔离环境中被存储和使用的数据的访问在该隔离环境中存储和使用的数据不需要是安全的但是系统可以保证只有在相同的环境中的应用程序可以访问该数据目前的状态()目前的状态()目前的个人计算机(和相关的设备如PDAs、智能手机等)具有许多根本的安全和信任问题包括:用户无法知道他的计算机在做什么用户无法知道其他人在做什么计算机消耗了越来越多的资源来扫描病毒或者攻击用户很容易被欺骗以访问恶意虚假网站笔记本信息的丢失服务器信息的丢失目前的状态()目前的状态()这些问题的核心是基于这样一个事实:标准个人计算机结构不是专门为安全设计的Justasafastercarneedsbetterbrakesandseatbelts,acomputerusedformissioncriticalpurposesneedsbetterprotection可信计算的根本目标可信计算的根本目标可信计算的根本目标就是解决上述问题核心问题:我们如何知道系统真正地在做我们认为它在做的事情?最终,这个问题可以通过修改硬件以提供良好的信任基来实现因为软件总是可以被改变的。可信计算解决的攻击可信计算解决的攻击可信计算的目的是解决所有的软件攻击但只解决部分硬件攻击Nothingcanbeguaranteedtoresistallhardwareattacksunlessitisphysicallyisolated(inalockedroom,surroundedbyarmedguards)A‘smartcard’levelofprotectionisallwecandoatareasonableprice当前的计算环境当前的计算环境平台操作系统应用程序恶意软件配置(Configuration)启动记录报告启动记录报告本地报告当挑战者要判断本地机器是否被攻陷意味着本机有可能是不可信的。如果本机已经被攻击者控制那么可信判断所得到的结果就会被攻击者篡改挑战者就会受到欺骗所以必须借助TPM本身提供的机制来完成本地的安全报告。启动记录报告启动记录报告本地报告PCR值是标志机器状态是否可信的标志SEAL操作是将数据或密钥与一个或一组指定的PCR值绑定只有当这个或这组PCR的值符合特定指定值时这些数据和密钥才能够被释放出来。Seal操作实际上是将数据的可访问性与机器状态绑定。操作系统或者用户能够在特定的机器状态访问某些被Seal的数据机器状态(PCR值)改变之后数据就将无法访问。如何进行可信的本地报告:可以将一个机密信息绑定到PCR值来标志一个可信的启动过程当要判断机器的启动过程是否可信用户可以要求TPM对这条秘密信息执行Unseal操作。如果这条被Seal的机密信息能够被释放那么就表示相应PCR值都符合期望值进而说明启动过程是安全的。TPM数据保护TPM数据保护TPM的保护能力是唯一一组许可访问保护区域(shieldedlocations)的命令保护区域是能够安全操作敏感数据的地方(比如内存寄存器等)。通过建立平台的保护区域实现对敏感数据的访问授权从而控制外部实体对这些敏感数据的访问TPM通过实现保护能力和保护区域以此来保护和报告完整性度量。保护区域是一块可信平台模块中存放敏感信息的存储区保护能力是可信平台模块提供的可以对被保护区域进行访问的功能以命令的形式提供。TPM数据保护TPM数据保护TPM或多或少有些像智能卡但它们之间一个显著的区别是:TPM附属了大量的非易失性存储器。所以可以存储大量与TPM相关的数据到这些非易失性存储器中。安全存储的一个目标就是利用非易失性存储器保存一些重要的密钥和敏感数据。TPM数据保护TPM数据保护数据密封Sealing数据绑定Binding数据加密SealingSealing如果想获取M必须先获取K这就需要由TPM用KPRIS对KPUBS{VPCRxK}进行解密此时TPM检查GPCRx的值是否与VPCRx相等只有在相等的情况下TPM才提供K否则不提供K。PCR寄存器组GPCRx的值VPCRx也称为TPM的一个状态(或一个配置)因此密封把信息M与TPM的一个状态关联了起来只有当TPM的状态与密封时的状态相同时才有可能把密封过的信息K{M}恢复为原来的信息M。换言之当且仅当密封时的TPM状态与解密封时的TPM状态相同时解密封操作才能成功。SealingSealing密封的签名:设实体ES拟对信息M进行签名ES的公钥和私钥分别为KPUBES和KPRIES某TPM的一组PCR寄存器GPCRx的值是VPCRx密封的签名的含义是:把M和VPCRx连接起来得到M||VPCRx计算M||VPCRx的哈希值得到H(M||VPCRx)用KPRIES对H(M||VPCRx)进行签名得到{H(M||VPCRx)}KPRIES。验证签名时验证方只需使用ES的公钥KPUBES对{H(M||VPCRx)}KPRIES进行验证就可以判断该签名是不是在TPM的指定状态VPCRx下实施的。TPMBindingTPMBinding绑定:设实体ES拟把信息M发送给实体ERER的公钥和私钥分别是KPUBER和KPRIER用KPUBER对M进行加密得到KPUBER{M}就相当于把M和ER绑定在一起因为只有用KPRIER才能对KPUBER{M}进行解密而只有ER才拥有PPRIER。如果实体ER是一个TPM则是把信息M绑定到特定的TPM上。其中,ER称为绑定密钥。AttestationAttestation证明者利用AIK对挑战者指定的PCR值进行签名后附加上对应的度量日志(SML)表项和AIK证书一起发送给挑战者。接下来挑战者对证明值进行验证。验证过程包括根据度量日志重新计算哈希值(期望值)、对AIK证书进行验证以及将签名值和期望值进行匹配三个步骤。AttestationAttestation()远程挑战者产生一个随机数nonce对可信平台客户端发起挑战请求指定要求的PCR寄存器编号。为了以防止重放攻击挑战者同时发送一个密码学随机数给客户端。由于客户端可在数字签名的摘要中加入nonce挑战者可以验证签名的新鲜性。()配备TPM的客户端与TSS交互载入AIK调用TspiTPMQuote接口对制定的PCR进行签名。首先将PCR寄存器值和nonce串联并用SHA算法求出度量值度量值为比特然后使用RSA算法用AIK的私钥对此度量值进行数字签名。TspiTPMQuote接口的输入包括TPM对象句柄签名密钥对象的句柄PCR组件对象(含需要签名的PCR索引号)以及对PCR签名的相关信息。对PCR签名的相关信息包含输入数据和输出数据输入数据指定完成签名需要的额外数据如nonce用于防止重放攻击输出数据记录签名成功后获取到的TSSPCRSSTRUCTINFO结构和签名的PCR值。最后经过签名的PCR值和对应的度量日志的摘要和AIK证书被反馈给挑战者。AttestationAttestation()挑战者验证摘要数据块的签名检查nonce。这一步骤验证AIK签名的合法性。挑战者从TSSPCRSSTRUCTINFO中获取到PCR值与nonce串联后计算其哈希值得到SHA(PCR||nonce)另外使用AIK证书的公钥解密已签名的PCR值得到RSADecAIK(Quote)如果SHA(PCR||nonce)==RSADecAIK(Quote)则AIK签名是合法的否则PCR值是已被篡改的或者nonce不是新鲜的。()挑战者验证存AIK证书的合法性。AIK证书的合法性是由第三方CA来给出证明的即验证AIK证书是否为CA所签发。另外还需确认AIK证书不在证书作废列表当中即AIK证书仍在有效期内。AttestationAttestation()挑战者基于客户端状态做出下一步动作的决定即对比PCR摘要值是否与期望值相符。其关键是用户读取度量日志(SML)重新计算期望值的过程。挑战者读取SML其中包含每次度量得到的度量值模仿PCR扩展操作按扩展的顺序对度量值执行扩展操作。通过上面的计算即可得到期望的PCR值如果期望的PCR值和客户端返回的值相等则可以证实客户端的环境配置是值得信任的否则不然。CreationofAIKCredentialCreationofAIKCredential该流程与一般PKI体系中证书的创建流程大致相同。但需要指出的不相同的地方是:该流程中客户端与PCA的交互是在线的也就是说AIK证书的创建过程是自动进行的而一般PKI体系中证书的创建需要证书注册机构RA(RegisterAuthority)对证书请求进行审核而该审核过程一般是通过离线的方式进行的如证书请求者需要向RA寄送书面请求报告等。需要说明的是AIK证书的在线创建主要得益于“TPM是可信的”这个前提正因为TPM是可信的那么由TPM所创建的AIK密钥也是可信的所以由RA进行的证书请求审核过程就自然可以不需要了。ProblemsofAttestationwithPrivacyCAProblemsofAttestationwithPrivacyCA但是使用PrivacyCA进行远程证明(Attestation)具有一些缺点。首先验证方(Verifier)进行AIK证书验证时需要验证 PrivacyCA证书的合法性那么PrivacyCA和验证方的可能进行合谋从而导致TPM平台的身份被泄露因为PrivacyCA是了解AIK证书所对应的EK证书的其次TPM使用者需要与PrivacyCA进行交互以获得AIK证书而TPM可能会有大数量的AIK那么PrivacyCA将服务大规模数量的AIK证书请求从而导致了可用性问题。Solution:DirectAnonymousAttestation(DAA)BrCaCh,BrikDirectAnonymousAttestations(DAA)protocolDirectAnonymousAttestations(DAA)protocol直接匿名证明(DAADirectAnonymousAttestation)协议基于TPM平台、DAA签署方(Issuer)、DAA验证方(Verifier)三个实体。DAA协议包括加入(Join)和签名验证(SignVerify)两个步骤:在Join步骤签署方验证TPM平台并为TPM平台签署DAA证书在Sign步骤TPM平台使用DAA证书与验证方进行交互通过“零知识证明”验证方可以在不违反TPM平台隐私性的前提下对DAA证书进行验证。DAA协议支持黑名单的功能这样验证方可以将那些被攻陷的TPM识别出来。TPMKeysTPMKeysTPMTCM提供密钥管理的功能用户可以通过该功能生成密钥、使用密钥进行加密或者签名操作。可信计算平台中密钥包括多种类型不同类型密钥具有不同的安全需求特别体现在密钥的产生、传输、存储、备份、销毁等主要环节。可迁移密钥与不可迁移密钥可迁移密钥与不可迁移密钥在整个TPMTCM的密钥体系中每个密钥在开始创建的时候都需要指定密钥属性。密钥按照属性不同分为:可迁移密钥(MigratableKey)、不可迁移密钥(NonMigratableKey)。可迁移存储密钥并不局限于某个特定平台可以由平台用户的控制下在平台之间迁移。不可迁移密钥则永久地与某个指定平台关联。不可迁移密钥能够用来加密保护可迁移密钥反之则不行。可迁移密钥可迁移密钥由于系统升级或者其他原因用户需要改变系统密钥需要由一个平台上的密钥空间转移到另外一个平台的密钥空间。另一方面也是最主要的可迁移密钥设计可用于在多个平台上使用(即解密)同一密钥所加密的数据。这种密钥的优点是可以将关键数据复制(备份并恢复)到另一个平台上使用这样可以为用户提供便利如有些用户使用多个平台或者数据需要供使用不同平台的多个用户使用。举个例子假如一个密钥被用来对Email签名这个密钥的使用者可能希望不管是在工作还是在家都可以使用这个密钥来签发电子邮件。可迁移密钥的另一个优点是可以将数据从一个发生故障的平台备份并恢复到一个新的平台上。不可迁移密钥不可迁移密钥虽然可迁移密钥对用户提供了很多方便但是在某些场景可能无法提供特定应用所需的适当保护级别。例如用户希望将数据限定为只在一个平台上使用这时就需要不可迁移密钥。TPM内部产生在TPM产生后被打上了TPM的标记。不可迁移密钥的本质是它可用于一个并且只能用于一个TPM。如果系统或TPM发生故障所有不可迁移密钥以及与它们关联的所有数据将不可访问而且无法恢复。不可迁移密钥本身的安全性要比可迁移密钥高因为不可迁移密钥全部是由TPM内部产生并且从产生到销毁整个周期私钥部分都不会离开TPM(除非不可迁移密钥转化为可迁移密钥这个时候安全级别也会降低注意的是由于可迁移密钥安全级别低所以无法转化成为不可迁移密钥)。同时不可迁移密钥可以被TPM签名从而可以向挑战者或者用户证明其不可迁移的属性从而证明其安全性。TPMKeysTPMKeys功能分类:TCG定义了种密钥类型。每种类型都附加了一些约束条件以限制其应用。TCG的密钥可以粗略的分类为签名密钥和存储密钥。更进一步的分类有:平台、身份认证、绑定、普通和继承密钥。对称密钥被单独分类为验证密钥,非对称密钥大多要求位的RSA密钥。TPM Key ObjectTPM Key ObjectStorageKeysStorageKeys存储密钥(StorageKeys)是用来加密数据和其它密钥的通用非对称密钥这里的其它密钥可以是另一个存储密钥、也可以是绑定密钥或者是签名密钥。它本身是长度为比特的RSA私钥它既可以是可迁移密钥也可以是不可迁移密钥。StorageKeysStorageKeys存储根密钥(StorageRootKeySRK)是存储密钥的一个特例。整个系统拥有一个最高权限的存储密钥这个最高级密钥也就是存储根密钥。它很特殊在每个用户创建的时候生成管理着这个用户的所有数据也就是存储可信根(RootofTrustforStorageRTS)。它签署密钥(EndorsementKeyEK)一样一个TPM仅存在唯一一个。所有其他的密钥都在存储根密钥的保护之下。SigningkeysSigningkeys签名密钥(SigningKey):是非对称密钥用于对应用数据和信息签名。签名密钥可以是可迁移或者不可迁移的。可迁移密钥能够在TPM之间传递通过迁移密钥传递保密数据。TPM中的签名密钥都遵循RSA签名密钥的标准它们有若干种不同的长度。TPM能够正确地进行处理的最大密钥长度是比特。AttestationIdentityKeys(AIK)EKAttestationIdentityKeys(AIK)EK签署密钥(EndorsementKeyEK)是一个TPM平台的不可迁移的解密密钥它是一个bits的RSA密钥对。它生成于平台的生产过程中代表着每个平台的真实身份每个平台都拥有唯一的一个。在确立平台所有者时用于解密所有者的授权数据还有解密与生成AIK相关的数据。签署密钥从不用作数据加密和签名。签署密钥的主要功能是生成身份证明密钥(AIK)和建立TPM平台的所有者由TPM的所有者来生成存储根密钥SRK(StorageRootKey)使用SRK来加密、存储其他的密钥。EKEKEK可以通过密钥生成服务器采用两种方法来产生:一是使用TPM命令TCG规范定义了一组背书密钥操作命令其中创建背书密钥对的命令为:TPMCreateEndorsementKeyPair产生密钥长度要求至少位另一种方法是密钥“注入”技术在信任制造商的前提下由TPM制造商产生背书密钥对然后采用人工方式注入注入的方法有:键盘输入、软盘输入、专用密钥枪输入等。EKEK对比这两种方法前者必须依赖硬件中提供受保护的功能(ProtectedCapability)和被隔离的位置(ShieldedLocation)从而保证在设备内部产生密钥对而且密钥对是在篡改保护的环境下产生能够很好地减少密钥对泄露的风险后者则对环境、管理和操作方法要求较高首先密钥的装入过程应当在一个封闭的环境下进行不存在可能被窃听装置接收的电磁泄露或其它辐射所有接近密钥注入工作的人员应该绝对可靠。采用密钥枪或密钥软盘应与键盘输入的口令相结合并建立一定的接口规范只有在输入了合法的加密操作口令后才能激活密钥枪或软盘里的密钥信息。在密钥装入后应将使用过的存储区清零防止一切可能导出密钥残留信息的事件发生。AIKAIK平台身份认证密钥(AttestationIdentityKeyAIK)是不可迁移密钥。专用于对TPM产生的数据(如TPM功能、PCR寄存器的值等)进行签名用来证明平台的身份和平台的环境配置凡是经过AIK签名的实体都表明已经经过TPM的处理。每个用户可以拥有多个AIK每个AIK的生成都需要可信第三方的支持。BindingKeysBindingKeys绑定密钥(BindingKey):用于在一个平台中加密小规模数据(如对称密钥)然后在另一个TPM平台上进行解密。由于使用平台所特有的密钥加密所以与该平台绑定。这个密钥的用法同传统非对称密钥加密相同。SealingKeysSealingKeys内置了TPM的计算机可以创建一个密钥该密钥不仅被绑定而且还被连接到特定硬件或软件条件这称为密封密钥。首次创建密封密钥时TPM将记录配置值和文件哈希的快照。仅在这些当前系统值与快照中的值相匹配时才解封或释放密封密钥。LegacyKeysLegacyKeys遗留密钥(LegacyKeys)在TPM之外生成它们被定义为可迁移的在被用来签名或加密之后才会载入TPM。这些密钥用在一些需要在平台之间传递数据的场合。保证密钥版本规范的向下兼容性AuthenticationKeysAuthenticationKeys鉴别密钥(AuthenticationKeys)是用来保护涉及TPM传输会话的对称密钥。TPMKeyHierarchyTPMKeyHierarchyTPMKeyHierarchyTPMKeyHierarchyKeyManagementKeyManagement为了更有效地管理存放在TPM外边的密钥引进一种密钥缓冲管理机制(KeyCacheManager)它主要管理TPM中受限制的资源并且对应用程序调用隐藏这些限制。应用程序可以通过利用KCM来载入密钥到TPM中并假定此密钥可以进一步利用。KCM负责保证当应用程序某个命令需要密钥时这个已经被应用程序载入的密钥存在于TPM中。如果所有TPM资源被占用KCM需要释放资源将不经常使用的密钥从TPM芯片里取出来以便为那些经常进出TPM的密钥腾出空间将需要的密钥放人TPM.应用程序需要利用KCM来将密钥装载到TPM中。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/43

3-TPM核心功能

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利