可信计算复习

可信计算复习题

Question

1可信平台芯片TPM与CPU的连接方式?
2.常见的hash算法有哪些?hash算法的性质和特点?
3.常见的对称加密算法和非对称加密算法有哪些,特色和应用场景?
4.为什么需要PKI,证书和公私密钥对的关系?
5.可信计算的基本属性?
6.为什么说TPM曾加对称加密算法的支持不会给PC系统提供更高的安全性?
7.TRM1.0和1.2分别有多少 PCRs?
8.TPM是如何报告平台状态的?
9.描述TPM可迁移密钥和不可迁移密钥的定义,哪种密钥更安全,为什么?能香相互转换?
10.描述TPM什么时候谁可以执行 PCR-Reset操作和PCR-Extend操作,用公式表示出来?
11.为什么PCR- Extend操作可以抵御攻击?
12.TFM密们有哪几种参数,共有多种不同的类型?简要描述使用一个自密钥的过程?
13.CRTM是什么?为什么是不可修改的?假如修改会产生何种攻击?
14.描述一下信任链的产生过程?日志的作用,以及为什么日志不需要防篡改?
15.EK?主要用途?可否迁移?
16.AIK?用途?可否迁移?
17.SRK?用途?可否迁移?
18.Sealing- Key?用途?可否迁移?
19.如何致本地报告?
20.如何借助Seal功能保护数据安全?
21.什么是Binding- Keys?主要用途是?
22.描述远程证明的过程
23.为什么说虚拟机回滚和可信计算是矛盾的?
24.虚拟机回滚会产生何种攻击?
25.为什么单纯回滚TPM无法解决问题?还存在何种攻击?
26.如I何解决回滚问题?
27.描述下图密钥加载的过程?
28.描述静态可信度量根的几个问题?易用性、可扩展性、度量时机、包容性。
29.德国研究者发现TPM1.0的3个缺陷?
30.动态可信度量根如何消除缺陷1和2?
31.如何消除缺陷3?
32.TFM1.2有多少Locality?作用?
33.看图
34.描述AMO 的SVM如何构建动态信任链?
35.AC-Module如何验证?
36.描述Intel的TXT 如何构建动态信任链?
37.使用子密钥要父密钥的授权,使用前先加载,要绑定PCR加载或绑定口令加载。
38.已经有了TPM,为什么还要vTPM?
39.vIPM在为一组虚拟机服务时,有什么性能缺陷和安全问题?
40.vTPM_Manager 的作用是什么?

Answer

  1. 为什么TCG组织认为TPM不需要支持对称加密?
    难以在保证性能的情况下处理大规模数据
    假设机器安全,软件已经被证明安全,因此加解密都安全
    假设机器不安全,解密出的明文不安全,攻击者只对明文感兴趣,不对密钥感兴趣,对称密钥经常更换,TPM搞个密钥没什么必要

  2. TPM与CPU的连接方式?
    可信计算复习_第1张图片

  3. hash算法有哪些?TPM和TCM用什么hash?

  4. 同上,对称、非对称?
    对称:
    可信计算复习_第2张图片
    非对称
    可信计算复习_第3张图片
    TPM:(hash是sha-1)
    可信计算复习_第4张图片
    TCM:
    可信计算复习_第5张图片

  5. 为什么需要PKI?证书和公私密钥对的关系?
    PKI可以证明公钥和身份的对应关系。证书包含公钥信息,可以验证私钥产生的签名。

  6. 可信计算的基本属性?(没找到,百度了一个)
    信任具有两重性(主观性和客观性)。信任不具有对称性(A信任B,B不一定信任A)。信任具有可度量性(信任的程度可以划分等级)。信任具有可传递性(传播过程中可能有损失)。信任具有动态性(信任与环境和时间因素有关)。

  7. 为什么TPM增加对称算法不会改善安全?
    在系统安全的情况下,可以靠软件做对称加密。此时,加入对称加密并不会改善安全性。在系统不安全的情况下,黑客感兴趣的不是密钥,而是明文,所以也不能改善安全性。

  8. TPM1.0和TPM1.2的PCR数量?
    可信计算复习_第6张图片

  9. TPM如何报告平台状态?
    可信计算复习_第7张图片
    可信计算复习_第8张图片

  10. TPM可迁移密钥?不可迁移密钥?哪个更安全?能否转换?
    不可迁移密钥不会以明文形式离开TPM。
    可信计算复习_第9张图片
    可信计算复习_第10张图片

  11. 公式表示:PCR-RESET和PCR-EXTEND什么时候谁可以执行?
    reset操作:静态可信度量时,平台重启(如开关机)时发生。
    extend操作:任何有管理员权限的人都可以执行。(公式可能是下一题中的公式,能发起measurement的人就能扩展)

  12. 为什么extend可以抵御攻击?
    可信计算复习_第11张图片
    之后的度量序列受到影响相当于攻击者留下了痕迹。并且由于hash的单向性,攻击者无法推断正常启动时的状态,因此攻击者无法消除攻击痕迹。所以extend可以确保发现攻击。

  13. TPM密钥有哪几种参数?有多少种类型?使用一个子密钥的过程是什么?
    因为TPM的空间非常有限,有很多密钥在TPM外部,才有了这样的分类。
    TPM密钥的4个属性(或者叫四个参数):1.load时需要PCR吗? 2.使用时需要PCR吗? 3.加载时需要密钥认证吗? 4.使用时需要密钥认证吗?
    /*
    *加载密钥是否需要PCR?
    *使用密钥是否需要PCR?
    *加载密钥是否需要使用授权信息(密码短语)?
    *使用密钥是否需要使用授权信息(密码短语)?
    */
    共有16种类型。
    从顶端密钥开始(通常是SRK),依次加载各层密钥

  14. CRTM是什么?为什么不可修改?修改会导致什么攻击?
    核心可信度量根如果遭受篡改,则攻击者可以构造自己的信任链,可以往PCR中写入任意值,可以轻易做到远程证明等操作。
    在这里插入图片描述
    可信计算复习_第12张图片

  15. 信任链的产生过程?日志的作用?为什么日志不需要防篡改?
    1.从CRTM开始;2.控制权移交之前,上一级会度量下一级的hash值。然后扩展到PCR。度量-扩展-移交。3.产生日志。
    可信计算复习_第13张图片
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  16. EK?主要用途?是否可迁移?
    在这里插入图片描述
    可信计算复习_第14张图片
    证明出厂信息,生成AIK。不能以明文或密文形式离开TPM。

  17. AIK?主要用途?是否可迁移?
    可信计算复习_第15张图片
    可信计算复习_第16张图片
    AIK对当前TPM产生的数据进行签名,证明它签名的数据是由当前TPM产生的,所以不可迁移。AIK可以以密文形式离开TPM。

  18. SRK?主要用途?是否可迁移?
    可信计算复习_第17张图片
    EK用于签名,不用于加密。没有密钥能用于加密SRK,而SRK又需要保护,所以SRK必须放在TPM内部,且不会以明文或密文形式离开TPM。

  19. Sealing KEY?主要用途?是否可迁移?
    可信计算复习_第18张图片
    把秘密信息绑定到一个或一组PCR上,只有PCR满足特定值时才能解封。可以保护秘密信息。sealing keys考察的是本机的状态,关联的是本机的PCR,因此是不可迁移密钥。

  20. 如何做本地报告?(第9题有。此外需要强调正常启动后销毁秘密信息,扩展PCR改变机器状态,确保后来者无法unseal。)

  21. 如何借助Seal功能保护数据安全?
    可信计算复习_第19张图片
    可信计算复习_第20张图片

  22. 什么是BINDING kEY?主要用途?
    可信计算复习_第21张图片
    可信计算复习_第22张图片
    在这里插入图片描述
    绑定密钥是发放到其它平台的公钥,其它平台用其加密想要传输的内容,方便密钥迁移。

  23. 远程证明的过程?
    可信计算复习_第23张图片
    可信计算复习_第24张图片

  24. 虚拟机回滚和可信计算的矛盾?
    可信计算要求信任链的建立过程必须是不可逆的,这样才能保证攻击者无法消除攻击痕迹,因此TPM必然不可完全回滚。

  25. 回滚会产生什么攻击?
    虚拟机回滚而TPM不回滚,会破坏TPM和系统状态的一致性,可能导致这样的攻击:先正常启动,使TPM正常,然后把虚拟机回滚到不可信状态。此时TPM无法证明平台安全性,因为一致性被破坏了。

  26. 单纯回滚TPM为什么无法解决问题?还存在什么攻击?
    TPM完全回滚会导致攻击者的攻击痕迹被消除。

  27. 如何解决回滚问题?
    可信计算复习_第25张图片
    TPM部分回滚。PCR回滚(保证一致性),而密钥不回滚(已经过期的密钥不再使用,新产生的密钥不会丢失)。此外,增加两组不会回滚的PCR,用来记录回滚记录(包括快照时间、快照时的TPM)。

  28. 描述密钥加载的过程
    可信计算复习_第26张图片

  29. 描述静态可信度量根的几个问题?易用性、可扩展性、度量时机、包容性
    易用性是指,挑战者发起挑战时,需要重启才能证明安全。
    包容性,win、linux等系统的TCB定义并没有考虑可信计算,使得信任链很庞大。
    可信计算复习_第27张图片
    可信计算复习_第28张图片

  30. 德国研究者发现的TPM1.0的三个缺陷
    可信计算复习_第29张图片

  31. 动态可信度量根如何消除缺陷1和2
    动态可信度量根由CPU发出一条新增的安全指令出发,它的信任链中不包含bios和bootloader。
    在这里插入图片描述

  32. 动态可信度量根如何消除缺陷3
    动态可信度量新增8个PCR,初始值为-1(ffff全1),从LPC总线攻击只能使之为ffff全1,而不能模拟CPU的指令。只有从CPU发出的指令(如SKINIT)能使它们变为0。初值不同,攻击者很难hash出一样的结果。

  33. TPM1.2有多少locality?有什么作用?
    可信计算复习_第30张图片

  34. 描述AMD的SVM如何构建动态信任链?
    首先通过SKINIT指令构建DRTM(PCR17中的值),然后再度量-扩展逐步构建信任链。
    只有一个核能发出SKINIT指令,
    关闭共享缓存,
    禁用中断,避免被不可信环境打断
    增加DMA保护,避免打印机等设备窃取SLB内容
    可信计算复习_第31张图片

  35. AC MODULE如何验证?
    intel CPU特有的动态可信度量模块,在CPU中存放intel的公钥的hash值,确保ac module的公钥没有被篡改,然后用公钥验证ac module未经篡改。

  36. Intel的TXT如何构建动态信任链?
    可信计算复习_第32张图片
    确保执行环境没有受到不可信应用的监视,将AC module和MLE加载到内存中,调用GETSEC[SENTER]指令,处理器验证ac module的签名然后执行ac module,ac module度量MLE并将结果送到TPM,启动MLE。

  37. 已经有了TPM,为什么还要vTPM?
    TPM1.2不适用于云计算的场景,因此提出vTPM。
    1)TPM1.2中,一台虚拟机进入安全环境,其他虚拟机就会暂停。我们希望每个虚拟机都能有自己的安全环境(相互不干扰,有自己的数据AIK等)。TPM1.2中一个物理机对应一个TPM。如果能虚拟化TPM(VTPM),就能以一个TPM满足多个虚拟机。
    2)有时只要求验证一个虚拟机的安全,而不需要所有虚拟机安全(不需要挑战整个物理平台)。此时vTPM有更高的效率。

  38. vTPM在为一组虚拟机服务时,有什么性能缺陷和安全问题?
    可信计算复习_第33张图片
    性能问题:需要高安全环境的应用是相似的(比如各个用户弹窗输入密码),如果提供一个公用的高安全环境可以节省大量开销
    与物理TPM相比的安全问题:vTPM管理器可能被篡改,或者domain0管理域被篡改

  39. vTPM manager的作用是什么?
    可信计算复习_第34张图片
    vTPM管理器有三个线程,一个连接TPM硬件驱动,一个管理vTPM实例,一个连接前后端驱动。
    先判断是哪一个vTPM发来的指令,然后再根据locality判断是几环。
    用共享内存代替网络来传递TPM指令,提高效率

  40. 为什么TPM支持多个AIK?
    因为TPM要支持多用户,每个用户都需要保证自己的安全

你可能感兴趣的:(安全)