已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TPM核心功能 羌卫中 1 医药交流课件 背景 1 在包括关键任务的信息系统中 我们需要保护数据 并维护和提高使用Internet的信心传统的安全计算难以使用 并且开销很大 可信计算提供了为保护和处理隐私和秘密数据的优化计算平台 2 背景 2 可信计算机提供了隔离环境 可以限制对在该隔离环境中被存储和使用的数据的访问 在该隔离环境中存储和使用的数据不需要是安全的 但是系统可以保证只有在相同的环境中的应用程序可以访问该数据 3 目前的状态 1 目前的个人计算机 和相关的设备 如PDAs 智能手机 等 具有许多根本的安全和信任问题 包括 用户无法知道他的计算机在做什么用户无法知道其他人在做什么计算机消耗了越来越多的资源来扫描病毒或者攻击用户很容易被欺骗以访问恶意虚假网站笔记本信息的丢失服务器信息的丢失 4 目前的状态 2 这些问题的核心是基于这样一个事实 标准个人计算机结构不是专门为安全设计的 Justasafastercarneedsbetterbrakesandseatbelts acomputerusedformissioncriticalpurposesneedsbetterprotection 5 可信计算的根本目标 可信计算的根本目标就是解决上述问题核心问题 我们如何知道系统真正地在做我们认为它在做的事情 最终 这个问题可以通过修改硬件 以提供良好的信任基来实现 因为软件总是可以被改变的 6 可信计算解决的攻击 可信计算的目的是解决所有的软件攻击 但只解决部分硬件攻击Nothingcanbeguaranteedtoresistallhardwareattacksunlessitisphysicallyisolated inalockedroom surroundedbyarmedguards A smartcard levelofprotectionisallwecandoatareasonableprice 7 当前的计算环境 平台操作系统应用程序恶意软件配置 Configuration 8 启动记录报告 本地报告当挑战者要判断本地机器是否被攻陷 意味着本机有可能是不可信的 如果本机已经被攻击者控制 那么可信判断所得到的结果就会被攻击者篡改 挑战者就会受到欺骗 所以必须借助TPM本身提供的机制来完成本地的安全报告 9 启动记录报告 本地报告PCR值是标志机器状态是否可信的标志SEAL操作是将数据或密钥与一个或一组指定的PCR值绑定 只有当这个或这组PCR的值符合特定指定值时 这些数据和密钥才能够被释放出来 Seal操作实际上是将数据的可访问性与机器状态绑定 操作系统或者用户能够在特定的机器状态访问某些被Seal的数据 机器状态 PCR值 改变之后数据就将无法访问 如何进行可信的本地报告 可以将一个机密信息绑定到PCR值来标志一个可信的启动过程当要判断机器的启动过程是否可信 用户可以要求TPM对这条秘密信息执行Unseal操作 如果这条被Seal的机密信息能够被释放 那么就表示相应PCR值都符合期望值 进而说明启动过程是安全的 10 TPM 数据保护 TPM的保护能力是唯一一组许可访问保护区域 shieldedlocations 的命令 保护区域是能够安全操作敏感数据的地方 比如内存 寄存器等 通过建立平台的保护区域 实现对敏感数据的访问授权 从而控制外部实体对这些敏感数据的访问 TPM通过实现保护能力和保护区域 以此来保护和报告完整性度量 保护区域是一块可信平台模块中存放敏感信息的存储区 保护能力是可信平台模块提供的可以对被保护区域进行访问的功能 以命令的形式提供 11 TPM 数据保护 TPM或多或少有些像智能卡 但它们之间一个显著的区别是 TPM附属了大量的非易失性存储器 所以可以存储大量与TPM相关的数据到这些非易失性存储器中 安全存储的一个目标就是利用非易失性存储器 保存一些重要的密钥和敏感数据 12 TPM 数据保护 数据密封 Sealing数据绑定 Binding数据加密 13 Sealing 如果想获取M 必须先获取K 这就需要由TPM用KPRI S对KPUB S VPCR x K 进行解密 此时 TPM检查GPCR x的值是否与VPCR x相等 只有在相等的情况下 TPM才提供K 否则 不提供K PCR寄存器组GPCR x的值VPCR x也称为TPM的一个状态 或一个配置 因此密封把信息M与TPM的一个状态关联了起来 只有当TPM的状态与密封时的状态相同时 才有可能把密封过的信息K M 恢复为原来的信息M 换言之 当且仅当密封时的TPM状态与解密封时的TPM状态相同时 解密封操作才能成功 14 Sealing 密封的签名 设实体ES拟对信息M进行签名 ES的公钥和私钥分别为KPUB ES和KPRI ES 某TPM的一组PCR寄存器GPCR x的值是VPCR x 密封的签名的含义是 把M和VPCR x连接起来 得到M VPCR x 计算M VPCR x的哈希值 得到H M VPCR x 用KPRI ES对H M VPCR x 进行签名 得到 H M VPCR x KPRI ES 验证签名时 验证方只需使用ES的公钥KPUB ES对 H M VPCR x KPRI ES进行验证 就可以判断该签名是不是在TPM的指定状态VPCR x下实施的 15 TPM Binding 绑定 设实体ES拟把信息M发送给实体ER ER的公钥和私钥分别是KPUB ER和KPRI ER 用KPUB ER对M进行加密得到KPUB ER M 就相当于把M和ER绑定在一起 因为只有用KPRI ER才能对KPUB ER M 进行解密 而只有ER才拥有PPRI ER 如果实体ER是一个TPM 则是把信息M绑定到特定的TPM上 其中 ER称为绑定密钥 16 Attestation 证明者利用AIK对挑战者指定的PCR值进行签名后 附加上对应的度量日志 SML 表项和AIK证书一起发送给挑战者 接下来挑战者对证明值进行验证 验证过程包括根据度量日志重新计算哈希值 期望值 对AIK证书进行验证以及将签名值和期望值进行匹配三个步骤 17 Attestation 1 远程挑战者产生一个随机数nonce对可信平台客户端发起挑战请求 指定要求的PCR寄存器编号 为了以防止重放攻击 挑战者同时发送一个密码学随机数给客户端 由于客户端可在数字签名的摘要中加入nonce 挑战者可以验证签名的新鲜性 2 配备TPM的客户端与TSS交互 载入AIK 调用Tspi TPM Quote接口对制定的PCR进行签名 首先 将PCR寄存器值和nonce串联并用SHA1算法求出度量值 度量值为160比特 然后使用RSA算法用AIK的私钥对此度量值进行数字签名 Tspi TPM Quote接口的输入包括TPM对象句柄 签名密钥对象的句柄 PCR组件对象 含需要签名的PCR索引号 以及对PCR签名的相关信息 对PCR签名的相关信息包含输入数据和输出数据 输入数据指定完成签名需要的额外数据如nonce 用于防止重放攻击 输出数据记录签名成功后获取到的TSS PCRS STRUCT INFO结构和签名的PCR值 最后 经过签名的PCR值和对应的度量日志的摘要和AIK证书被反馈给挑战者 18 Attestation 3 挑战者验证摘要数据块的签名 检查nonce 这一步骤验证AIK签名的合法性 挑战者从TSS PCRS STRUCT INFO中获取到PCR值 与nonce串联后计算其哈希值 得到SHA1 PCR nonce 另外使用AIK证书的公钥解密已签名的PCR值 得到RSA DecAIK Quote 如果SHA1 PCR nonce RSA DecAIK Quote 则AIK签名是合法的 否则PCR值是已被篡改的或者nonce不是新鲜的 4 挑战者验证存AIK证书的合法性 AIK证书的合法性是由第三方CA来给出证明的 即验证AIK证书是否为CA所签发 另外还需确认AIK证书不在证书作废列表当中 即AIK证书仍在有效期内 19 Attestation 5 挑战者基于客户端状态做出下一步动作的决定 即对比PCR摘要值是否与期望值相符 其关键是用户读取度量日志 SML 重新计算期望值的过程 挑战者读取SML 其中包含每次度量得到的度量值 模仿PCR扩展操作 按扩展的顺序对度量值执行扩展操作 通过上面的计算即可得到期望的PCR值 如果期望的PCR值和客户端返回的值相等则可以证实客户端的环境配置是值得信任的 否则不然 20 CreationofAIKCredential 该流程与一般PKI体系中证书的创建流程大致相同 但需要指出的不相同的地方是 该流程中客户端与PCA的交互是在线的 也就是说AIK证书的创建过程是自动进行的 而一般PKI体系中 证书的创建需要证书注册机构RA RegisterAuthority 对证书请求进行审核 而该审核过程一般是通过离线的方式进行的 如证书请求者需要向RA寄送书面请求报告等 需要说明的是 AIK证书的在线创建主要得益于 TPM是可信的 这个前提 正因为TPM是可信的 那么由TPM所创建的AIK密钥也是可信的 所以由RA进行的证书请求审核过程就自然可以不需要了 21 ProblemsofAttestationwithPrivacyCA 但是 使用PrivacyCA进行远程证明 Attestation 具有一些缺点 首先 验证方 Verifier 进行AIK证书验证时需要验证PrivacyCA证书的合法性 那么PrivacyCA和验证方的可能进行合谋 从而导致TPM平台的身份被泄露 因为PrivacyCA是了解AIK证书所对应的EK证书的 其次 TPM使用者需要与PrivacyCA进行交互以获得AIK证书 而TPM可能会有大数量的AIK 那么PrivacyCA将服务大规模数量的AIK证书请求 从而导致了可用性问题 Solution DirectAnonymousAttestation DAA BrCaCh2004 Brik2007 22 DirectAnonymousAttestations DAA protocol 直接匿名证明 DAA DirectAnonymousAttestation 协议基于TPM平台 DAA签署方 Issuer DAA验证方 Verifier 三个实体 DAA协议包括加入 Join 和签名 验证 Sign Verify 两个步骤 在Join步骤 签署方验证TPM平台 并为TPM平台签署DAA证书 在Sign步骤 TPM平台使用DAA证书与验证方进行交互 通过 零知识证明 验证方可以在不违反TPM平台隐私性的前提下对DAA证书进行验证 DAA协议支持黑名单的功能 这样验证方可以将那些被攻陷的TPM识别出来 23 TPM Keys TPM TCM提供密钥管理的功能 用户可以通过该功能生成密钥 使用密钥进行加密或者签名操作 可信计算平台中密钥包括多种类型 不同类型密钥具有不同的安全需求 特别体现在密钥的产生 传输 存储 备份 销毁等主要环节 24 可迁移密钥与不可迁移密钥 在整个TPM TCM的密钥体系中 每个密钥在开始创建的时候都需要指定密钥属性 密钥按照属性不同分为 可迁移密钥 MigratableKey 不可迁移密钥 Non MigratableKey 可迁移存储密钥并不局限于某个特定平台 可以由平台用户的控制下在平台之间迁移 不可迁移密钥则永久地与某个指定平台关联 不可迁移密钥能够用来加密保护可迁移密钥 反之则不行 25 可迁移密钥 由于系统升级或者其他原因用户需要改变系统 密钥需要由一个平台上的密钥空间转移到另外一个平台的密钥空间 另一方面 也是最主要的 可迁移密钥设计可用于在多个平台上使用 即解密 同一密钥所加密的数据 这种密钥的优点是可以将关键数据复制 备份并恢复 到另一个平台上使用 这样可以为用户提供便利 如有些用户使用多个平台 或者数据需要供使用不同平台的多个用户使用 举个例子 假如一个密钥被用来对E mail签名 这个密钥的使用者可能希望不管是在工作还是在家 都可以使用这个密钥来签发电子邮件 可迁移密钥的另一个优点是 可以将数据从一个发生故障的平台备份并恢复到一个新的平台上 26 不可迁移密钥 虽然可迁移密钥对用户提供了很多方便 但是在某些场景可能无法提供特定应用所需的适当保护级别 例如用户希望将数据限定为只在一个平台上使用 这时就需要不可迁移密钥 TPM内部产生 在TPM产生后被打上了TPM的标记 不可迁移密钥的本质是 它可用于一个并且只能用于一个TPM 如果系统或TPM发生故障 所有不可迁移密钥以及与它们关联的所有数据将不可访问 而且无法恢复 不可迁移密钥本身的安全性要比可迁移密钥高 因为不可迁移密钥全部是由TPM内部产生并且从产生到销毁整个周期私钥部分都不会离开TPM 除非不可迁移密钥转化为可迁移密钥 这个时候安全级别也会降低 注意的是由于可迁移密钥安全级别低所以无法转化成为不可迁移密钥 同时不可迁移密钥可以被TPM签名 从而可以向挑战者或者用户证明其不可迁移的属性 从而证明其安全性 27 TPM Keys 功能分类 TCG定义了7种密钥类型 每种类型都附加了一些约束条件以限制其应用 TCG的密钥可以粗略的分类为签名密钥和存储密钥 更进一步的分类有 平台 身份认证 绑定 普通和继承密钥 对称密钥被单独分类为验证密钥 非对称密钥大多要求2048位的RSA密钥 28 TPMKeyObject 29 StorageKeys 存储密钥 StorageKeys 是用来加密数据和其它密钥的通用非对称密钥 这里的其它密钥可以是另一个存储密钥 也可以是绑定密钥或者是签名密钥 它本身是长度为2048比特的RSA私钥 它既可以是可迁移密钥 也可以是不可迁移密钥 30 StorageKeys 存储根密钥 StorageRootKey SRK 是存储密钥的一个特例 整个系统拥有一个最高权限的存储密钥 这个最高级密钥也就是存储根密钥 它很特殊 在每个用户创建的时候生成 管理着这个用户的所有数据 也就是存储可信根 RootofTrustforStorage RTS 它签署密钥 EndorsementKey EK 一样 一个TPM仅存在唯一一个 所有其他的密钥都在存储根密钥的保护之下 31 Signingkeys 签名密钥 SigningKey 是非对称密钥 用于对应用数据和信息签名 签名密钥可以是可迁移或者不可迁移的 可迁移密钥能够在TPM之间传递 通过迁移密钥传递保密数据 TPM中的签名密钥都遵循RSA签名密钥的标准 它们有若干种不同的长度 TPM能够正确地进行处理的最大密钥长度是2048比特 32 AttestationIdentityKeys AIK EK 签署密钥 EndorsementKey EK 是一个TPM平台的不可迁移的解密密钥 它是一个2048bits的RSA密钥对 它生成于平台的生产过程中 代表着每个平台的真实身份 每个平台都拥有唯一的一个 在确立平台所有者时 用于解密所有者的授权数据 还有解密与生成AIK相关的数据 签署密钥从不用作数据加密和签名 签署密钥的主要功能是生成身份证明密钥 AIK 和建立TPM平台的所有者 由TPM的所有者来生成存储根密钥SRK StorageRootKey 使用SRK来加密 存储其他的密钥 33 EK EK可以通过密钥生成服务器 采用两种方法来产生 一是使用TPM命令 TCG规范定义了一组背书密钥操作命令 其中创建背书密钥对的命令为 TPM CreateEndorsementKeyPair 产生密钥长度要求至少2048位 另一种方法是密钥 注入 技术 在信任制造商的前提下 由TPM制造商产生背书密钥对 然后采用人工方式注入 注入的方法有 键盘输入 软盘输入 专用密钥枪输入等 34 EK 对比这两种方法 前者必须依赖硬件中提供受保护的功能 ProtectedCapability 和被隔离的位置 ShieldedLocation 从而保证在设备内部产生密钥对 而且密钥对是在篡改保护的环境下产生 能够很好地减少密钥对泄露的风险 后者则对环境 管理和操作方法要求较高 首先密钥的装入过程应当在一个封闭的环境下进行 不存在可能被窃听装置接收的电磁泄露或其它辐射 所有接近密钥注入工作的人员应该绝对可靠 采用密钥枪或密钥软盘应与键盘输入的口令相结合 并建立一定的接口规范 只有在输入了合法的加密操作口令后 才能激活密钥枪或软盘里的密钥信息 在密钥装入后 应将使用过的存储区清零 防止一切可能导出密钥残留信息的事件发生 35 AIK 平台身份认证密钥 AttestationIdentityKey AIK 是不可迁移密钥 专用于对TPM产生的数据 如TPM功能 PCR寄存器的值等 进行签名 用来证明平台的身份和平台的环境配置 凡是经过AIK签名的实体 都表明已经经过TPM的处理 每个用户可以拥有多个AIK 每个AIK
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 园林古建筑景观雕塑与艺术装置施工方案
- 地下建筑防水施工技术措施方案
- 电气设备安装施工技术方案
- 钢结构重型钢梁吊装技术方案
- 钢结构施工工艺风险管控技术方案
- 2026南平松溪县湛云项目管理有限公司招聘4人考试备考试题及答案解析
- 2026皖南医学院第一附属医院(弋矶山医院)招聘预(安徽)考试备考试题及答案解析
- 混凝土楼板浇筑温控方案
- 中学教室地面加固施工方案
- 砌体结构施工中的混凝土接缝处理方案
- 2025中国东方资产管理股份有限公司总部部门分公司高级管理人员社会招聘笔试历年典型考题及考点剖析附带答案详解2套试卷
- 2026春统编版二年级下册道德与法治教学设计(附目录)
- 2026石嘴山市能达建设发展有限公司招聘3人笔试参考题库及答案解析
- 2026年春人教版八年级下册英语Unit 1~Unit 8全册教案
- 2025-2026学年人教PEP版(新教材)小学英语三年级下册教学计划及进度表
- 2026年-(教科版2026新教材)科学一年级下册全册教学设计-新版
- 2026届云南省普通高中学业水平选择性考试调研测试政治试题
- GB/T 20839-2025智能运输系统通用术语
- 2026年就业市场:挑战与机遇并存高校毕业生就业指导与策略
- 多囊卵巢综合征中西医结合诊疗指南(2025年版)
- 电梯安装安全培训讲议课件
评论
0/150
提交评论