【可信计算】TPM核心功能

这篇具有很好参考价值的文章主要介绍了【可信计算】TPM核心功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TPM核心功能

参考资料:TPM功能介绍 - Cache One

1)TPM的1.0版本和1.2版本分别有多少个PCRs?

TPM1.0版本16个,1.2版本有24个。(喵酱也不确定)

2)TPM是如何报告平台状态的?

两种报告方式:远程报告和本地报告。

远程报告:

被证明平台将TPM中完整度量值报告给远程挑战者。远程挑战者获取到可信平台用自身AIK密钥签名的PCR值,可信平台除了发送已签名的PCR外,还包括有度量日志和AIK证书,通过验证AIK证书、AIK签名和nonce的合法性证实平台的身份。挑战者将PCR值与期望值比较可以验证被证明平台的可信性。

本地报告:

当挑战者要判断本地机器是否被攻陷,意味着本机有可能是不可信的。如果本机已经被攻击者控制,那么可信判断所得到的结果就会被攻击者篡改,挑战者就会受到欺骗。

①可以将一个机密信息绑定到PCR值来标志一个可信的启动过程。

②当要判断及其的启动过程是否可信,用户可以要求TPM对这条秘密信息执行Unseal操作。如果这条Seal的机密信息能够被释放,那么就表示相应的PCR值都符合期望值,进而说明启动过程是安全的。

③删除口令,破坏PCR的值。

3)描述TPM可迁移密钥和不可签名密钥的定义,哪种密钥更安全,为什么?能否相互转换?

可迁移密钥 并不局限某个特定平台,可以由平台用户的控制下在平台之间迁移。不可迁移密钥永久地与某个指定平台关联,不可迁移密钥不会以明文形式离开TPM,不可迁移密钥对TPM中产生的数据进行签名。

不可迁移密钥更安全。不可迁移密钥能够用来加密保护可迁移密钥,反之不行。

不可迁移密钥可以转换为可迁移密钥,但不可逆。

4)描述TPM什么时候谁可以执行PCR Reset操作和PCR Extend操作?

Reset操作:发生在机器断电或者重新启动之后,PCR的值自动重新清零。

Extend操作:在系统运行过程中,只能通过扩展操作来改变PCR的内容。
P C R [ i ] = S H A − 1 ( P C R [ i ] ∣ ∣ n e w M e a s u r e m e n t ) PCR[i] = SHA-1(PCR[i] || newMeasurement) PCR[i]=SHA1(PCR[i]newMeasurement)

5)为什么PCR Extend操作可以抵御攻击?

1、扩展操作不可逆,先扩展度量值A再扩展度量值B得到的PCR的值跟先扩展B再扩展A的结果不同。

2、通过扩展,PCR能够记录一个无限长的度量值序列,这一系列度量值组成的序列反应了系统状态的变迁。

3、扩展序列中的某一个度量值被改变,之后的度量序列都会收到影响。

6)CRTM是什么?为什么是不可修改的?假如修改会产生何种攻击?

CRTM是core root of trust for measurement可信度量根的核心

因为:对所有度量的信任都基于CRTM的完整性。

CRTM一旦被修改,则整个平台的安全性就丧失了

7)为什么TPM支持多个AIK?

隐私保护,为了尽量减少隐私泄露,TCG规定不能使用EK来做身份认证,而使用AIK,TPM使用EK生成AIK,然后通过PCA签发AIK证书完成身份认证。

平台支持多用户,每个用户都需要一个AIK来证明自己的身份。

8)PCR是什么

平台状态寄存器PCR是用来记录系统运行状态的寄存器

9)如何进行可信的本地报告

①可以将一个机密信息绑定到PCR值来标志一个可信的启动过程。

②当要判断及其的启动过程是否可信,用户可以要求TPM对这条秘密信息执行Unseal操作。如果这条Seal的机密信息能够被释放,那么就表示相应的PCR值都符合期望值,进而说明启动过程是安全的。

③删除口令,破坏PCR的值。

10)描述一下信任链的产生过程?日志的作用,以及为什么日志不需要防篡改?

信任传递机制:在信任当前某一环节的前提下,由该环节去评估下一个环节的安全性,确定下一环节可信之后再将控制权转交给下一环节,然后依次向后推进。整个启动序列中都遵循“先度量,再执行”的原则,当前阶段的代码负责度量下一阶段即将要执行的代码,然后再将度量值扩展到PCR寄存器中,这样循环往复,这就构成了信任链。

各阶段代码的详细配置信息和对PCR值扩展的操作的历史记录是保存在度量日志中的,度量日志存储在磁盘上,而磁盘属于不可信的外存,因此度量日志是可能被攻击者篡改的。对保存在磁盘上的度量日志并不需要进行额外的保护,攻击者即使篡改了度量日志,但由于PCR中记录的度量值是不可伪造的,用户对度量日志进行摘要就会发现与度量值不匹配。

基于TPM的可信启动并不能强制保证启动过程是可信的,而只是忠实的记录启动过程的完整性状态,交由用户在启动完成之后做可信判断,TPM本身并不能够控制CPU的执行过程。对启动过程完成了度量记录之后,就必须将记录的状态信息安全地报告给要做可信判断的挑战者,以供进一步根据状态判断启动过程是否可信状态信息包括度量日志和相应的PCR值。

11)EK是什么?主要用途是什么?可迁移密钥还是不可迁移密钥?

背书密钥

主要用途:代表每个平台的真实身份,生成身份证明密钥AIK和建立TPM平台的所有者,由TPM的所有者来生成SRK

不可迁移密钥

12)AIK是什么?主要用途是什么?可迁移密钥还是不可迁移密钥?

平台身份认证密钥

主要用途:用于对TPM产生数据进行签名,用来证明平台的身份和平台的环境配置。

不可迁移密钥

13)SRK是什么?主要用途是什么?可迁移密钥还是不可迁移密钥?

存储根密钥

主要用途:在用户创建时生成,管理用户的所有数据。

不可迁移密钥,一个TPM仅存在唯一一个。

14)Sealing Key是什么?主要用途是什么?可迁移密钥还是不可迁移密钥?

密封密钥:内置了TPM的计算机可以创建一个密钥,该密钥不仅被绑定,而且还被连接到特定硬件或软件条件。首次创建密封密钥时,TPM将记录配置值和文件哈希的快照,仅在这些当前系统值与快照中的值相匹配时才解封或释放密封密钥。148、158

主要用途:将秘密数据密封到平台。

(喵酱猜不到)可迁移密钥?不可迁移密钥?

15)如何借助Seal功能保护数据安全?

密封加密的过程:

  • M M M是一份信息, K K K是一个对称密钥, V P C R − x V_{PCR-x} VPCRx是某TPM的一组PCR寄存器 G P C R − x G_{PCR-x} GPCRx的值
  • TPM的一对密钥的公钥和私钥分别为 K P U B − S K_{PUB-S} KPUBS K P R I − X K_{PRI-X} KPRIX
  • 密封算法: K P U B − S { V P C R − x , K { M } } K_{PUB-S}\{V_{PCR-x},K\{M\}\} KPUBS{VPCRx,K{M}}

密封的解密过程:

  • 由TPM用 K P R I − S K_{PRI-S} KPRIS K P U B − S { V P C R − x , K } K_{PUB-S}\{V_{PCR-x},K\} KPUBS{VPCRx,K}进行解密
  • TPM检查 G P C R − x G_{PCR-x} GPCRx的值是否与 V P C R − x V_{PCR-x} VPCRx相等,如果相等,TPM提供 K K K,否则不提供。

在密封中,把信息M与TPM的一个状态关联起来,只有当TPM的状态与密封时的状态相同时,才有可能把密封过的信息恢复到原来的信息。换言之,当且仅当密封时的TPM状态与解密封时的TPM状态相同时,解密封操作才能成功。

16)什么是Binding Keys?主要用途是什么?

绑定密钥用于在一个平台中加密小规模数据,然后再另一个TPM平台上进行解密。由于使用平台所特有的密钥加密,所以与该平台绑定。

这个密钥的用法同传统非对称密钥加密相同。

(喵酱猜的)可迁移密钥文章来源地址https://www.toymoban.com/news/detail-445338.html

17)描述一下远程证明的过程?

到了这里,关于【可信计算】TPM核心功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TrustMe用Rust实现安全可信计算

    作者:禅与计算机程序设计艺术 Trusted Computing(简称TC)是一个现代信息系统工程的重要分支,其目的是通过可信任的计算环境构建具有高度安全性的安全计算解决方案。其定义为“一种建立在可信任基础上的系统,其处理的数据、计算资源、应用程序等在被授权时能提供某

    2024年02月10日
    浏览(35)
  • 【TEE】ARM CCA 可信计算架构

    作者:Arm 首席应用工程师 David Brooke 原文: Learn the architecture - Introducing Arm Confidential Compute Architecture Version 3.0 Introducing the Confidential Compute Architecture Hign Level设计 安全威胁模型 用法 内存安全问题 在本指南中,我们将探讨机密计算在现代计算平台中的作用,并解释机密计算的

    2024年01月25日
    浏览(51)
  • 异构计算场景下构建可信执行环境

    演讲嘉宾 | 金意儿 回顾整理 | 廖   涛 排版校对 | 李萍萍 嘉宾简介 金意儿,华为可信计算首席科学家,IEEE硬件安全与可信专委会联席主席,OpenHarmony技术指导委员会安全及机密计算TSG成员,美国佛罗里达大学名誉教授。2012年毕业于耶鲁大学,获得电气工程博士学位。

    2024年02月13日
    浏览(33)
  • 蚂蚁集团开源可信隐私计算框架「隐语」:开放、通用

    7 月 4 日,蚂蚁集团宣布面向全球开发者正式开源可信隐私计算框架 “隐语”。 隐语是蚂蚁集团历时 6 年自主研发,以安全、开放为核心设计理念打造的可信隐私计算技术框架,涵盖了当前几乎所有主流隐私计算技术。 据介绍,隐语内置 MPC、TEE、同态等多种密态计算虚拟设

    2024年02月15日
    浏览(32)
  • Android TEE可信计算环境与TrustZone基础

    先引用 《可信计算(Trusted Computing)技术理论与应用研究概述》 一文中的几张图片认识下什么是“可信计算”: 多年来,将操作系统分为用户空间和内核空间的传统架构已经取得了许多安全改进。然而,这似乎还不够。开发人员试图尽可能减少内核的攻击面,加强对所有用

    2024年02月04日
    浏览(48)
  • 可信执行环境(TEE):深入探讨安全计算的未来

    摘要:本文将详细介绍可信执行环境(TEE)的概念、原理和功能。我们将讨论TEE的应用场景,以及如何使用TEE来保护敏感数据和代码的安全。此外,我们还将探讨TEE的挑战和未来发展。 随着计算设备的普及和云计算技术的快速发展,如何保护数据和代码的安全成为了一个重要

    2024年02月09日
    浏览(42)
  • 信息系统安全导论第五章之可信计算

    1.1  可信计算的定义 可信计算是增强信息系统安全的一种行之有效的技术。它基于一个 硬件安全模块 , 建立 可信的计算环境 。可信硬件安全模块担任 信任根 的角色,通过 密码技术、硬件访问控制技术和存储加密 等技术保证系统和数据的信任状态。 1.2  可信计算的基本

    2024年02月04日
    浏览(46)
  • 数据可信性在云计算中的应用与挑战

    云计算是一种基于互联网的计算资源分配和共享模式,它允许用户在需要时从任何地方访问计算资源。随着云计算的发展,数据的规模和复杂性不断增加,这导致了数据可信性的问题变得越来越重要。数据可信性是指数据的准确性、完整性、时效性和可靠性等方面的表现。在

    2024年04月11日
    浏览(58)
  • 【机密计算标准】GB/T 41388-2022 可信执行环境基础安全规范

    本文件确立了可信执行环境系统整体技术架构,描述了可信执行环境基础要求、可信虚拟化系统、可信操作系统、可信应用与服务管理、跨平台应用中间件等主要内容及其测试评价方法。 下列文件中的内容通过文中的规范性引用面构成本文件必不可少的条款。其中,注日期的

    2024年02月16日
    浏览(46)
  • 火山引擎入选中国信通院“可信边缘计算推进计划”首批成员单位

    近期,由中国信息通信研究院、中国通信标准化协会联合主办的“2022数字化转型发展高峰论坛”在北京隆重召开,会上正式启动“可信边缘计算推进计划”。 “可信边缘计算推进计划”,旨在汇聚产、学、研、用各方力量,开展产业研究、技术攻关、标准制定、测试验证、

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包