【可信计算】第五次课:可信计算规范与标准

可信计算概念

在这里插入图片描述
在这里插入图片描述
定义可信密码模块(TCM)结构与功能:
在这里插入图片描述
目标:建立计算平台安全信任根基

核心功能:

  • 度量平台完整性,建立平台免疫力;
  • 平台身份唯一性标识;
  • 提供硬件级密码学计算与密钥保护。

由TCM构建3个信任根:
在这里插入图片描述
可信报告根(Root of Trust for Reporting–RTR)

  • 提供密码学机制,签署TCM的状态和数据信息(Provides cryptographic mechanism to digitally sign TCM state and information)

可信存储根(Root of Trust for Storage–RTS)

  • 提供密码学机制,保护TCM的放置外部的数据信息(Provides cryptographic mechanism to protect information held outside of the TCM)

可信度量根(Root of Trust for Measurement–RTM)

  • 提供密码学机制,有序度量平台的状态 (Provided by platform to measure platform state)

平台主板与TCM建立可信绑定关系:
在这里插入图片描述
以TCM为核心建立平台信任链:
在这里插入图片描述
由TCM构建身份标识表征平台身份:
在这里插入图片描述

  • 每一个TCM的密码模块密钥EK是唯一的
    可由…创建:
    TCM 厂商
    平台厂商
    最终用户
  • 方法:
    事先产生
    EK绝不能暴露在TCM外
  • 密码模块证书(EK证书)是由可信CA签署的EK公钥证书
  • 平台身份证书是由可信第三方CA签署的平台身份公钥证书(采用我国双证书机制),针对隐私保护,可以创建若干个平台身份密钥和证书

由TCM建立“数据密封”保护形式:
在这里插入图片描述
可信计算平台架构:
在这里插入图片描述
以TCM为核心,构建可信计算密码支撑平台,支撑安全应用,形成安全功能体系:

  • 平台完整性保护
  • 平台可信身份标识与证实
  • 平台数据密封与绑定

基于TCM构建平台可信网络接入(TNC):
在这里插入图片描述

可信计算规范指南

说到可信计算,就不能不提TPM安全芯片。所谓TPM安全芯片,是指符合TPM标准的安全芯片,它能有效地保护PC,防止非法用户访问。TPM标准由**可信赖计算组织(Trusted Computing Group,TCG)**制定。TCG的前身是多家IT巨头联合发起成立的可信赖运算平台联盟(TCPA),在2003年3月,TCPA改组为可信赖计算组织。

TCG是专门致力于制定可信计算标准的非营利性机构,它从安全的BIOS、安全的硬件、安全的操作系统、安全的网络连接等PC平台的各个方面入手来重新构建一个可信的计算机平台标准,作为安全产业基础的TCG标准将渗透到IT各个领域,包括:PC平台(台式和笔记本)、手机平台、可信网络接入及应用中间件、服务器平台、存储系统、应用软件等所有环节。

虽然我国的信息化技术同国际先进技术相比,存在一定的差距。但是,中国和国际上其他组织几乎是同步在进行可信计算平台的研究和部署工作。其中,部署可信计算体系中,密码技术是最重要的核心技术。具体的方案是以密码算法为突破口,依据嵌入芯片技术,完全采用我国自主研发的密码算法和引擎,来构建一个安全芯片,我们称之为可信密码模块(Trusted Cryptography Module,TCM)。

考虑到中国安全芯片标准发展时间比较短,参考国际规范可以避免我们走很多弯路;同时对于以后将中国标准让国际规范兼容和采纳,有很大的帮助。因此TCM与TPM1.2有很多的相同点,TCM是借鉴了TPM1.2的架构,替换了其核心算法后的产品。同时TCM中也按照我国的相关证书、密码等政策提供了符合我国管理政策的安全接口。

  • TCM与TPM1.2有很多的相同点,TCM是借鉴了TPM1.2的架构,替换了其核心算法后的产品。
  • 同时TCM中也按照我国的相关证书、密码等政策提供了符合我国管理政策的安全接口

可信计算规范TPM2.0

TPM2.0与TPM1.2芯片不兼容,在上层软件链成熟前,TPM1.2还会持续一段时间。但由于TPM2.0的灵活性,解决了TPM1.2的很多安全问题,且满足更多场景的应用,其代替TPM1.2芯片是一个必然趋势。自2016年7月28日起,所有新设备和产品线都必须默认实现并启用TPM2.0。

TPM1.2密码算法:RSA加密、RSA签名、RSA-DAA、SHA1、HMAC,并没有要求支持对称算法。

TPM2.0密码算法:RSA加密和签名、ECC加密和签名、ECC-DAA、ECDH、SHA1、SHA256、HMAC、AES,而且厂商可以随意使用TCG IDs来增加新的算法,如在国内实现必须增加SM2、SM3和SM4算法,拥有一定的灵活性。

TPM1.2主要面向PC平台设计,而类似的安全思维其实可以扩展到网络、服务器、云环境、移动设备和嵌入式产品等。TPM安全芯片本身是以安全芯片的形式在主机上隔离出一个拥有独立处理能力和存储能力的区域,在这个程度上,虚拟技术、TrustZone、智能卡等本质上是一致的,不过安全性可能并不在一个层次。TPM1.2的owner只有一个就是用户,而计算平台本身可能也需要使用TPM。TPM1.2中,所有安全和隐私都在该owner的控制下。

TPM2.0将这种控制功能进行了隔离,给出了三个控制域:安全域或者存储域(owner为用户,用户正常的安全功能);隐私域(owner为平台或者用户,平台身份认证);平台域(owner为平台,保护平台固件的完整性)。另外TPM2.0规范主要是提供一个参考,以及可能实现的方式,但是并没有限制必须以安全芯片的形式存在,如可以基于虚拟技术或者ARM TrustZone、Intel TXT等进行构建,只要能提供一个可信执行环境(TEE),就可以进行构建。一个安全芯片嵌入到服务器上,体现不了多少成本;但是如果在空间有限的移动设备或者嵌入式设备上配备一个安全芯片,就需要慎重考虑了。

TPM1.2的背书密钥只有EK,出厂时厂商就预置在芯片内,更换都很困难。takeowner后可以生成属主和唯一的存储根密钥SRK,从而可以构建密钥的存储体系。

在TPM2.0中,EK属于隐私域,可以有多个,而且可以支持不同的非对称算法;SRK属于安全域,也可以有多个和支持不同的算法。实际上TPM2.0的三个控制域中,都支持多密钥和多算法。TPM2.0的主密钥都是通过主种子,使用密钥派生算法KDF来生成。存储种子的空间比存储密钥的空间要小很多。TPM2.0中密钥的存储通常是通过对称加密,父密钥的强度不能低于子密钥,要不子密钥的安全强度也无法达到其声称的水平。

微软早在win8中就使用PCR来恢复unsealing Bitlocker的密钥。如果系统启动过程中有任何微小的变化,都需要用户干预才能恢复,因此这个过程比较脆弱。PCRs主要用来存储系统启动和运行过程中的度量值,防止度量日志被篡改。PCRs值不只保证每次系统启动时执行相同的代码,其保证以相同的顺序执行相同的代码。

TPM2.0规范运行其有多个PCRsbanks,一个bank内所有PCR使用相同的算法进行扩展操作。而且不同的banks可以分配不同的PCRs。对于不同的bank,扩展操作是相互独立的,互不干扰。

授权即是否允许软件进程访问TPM内部的资源(密钥、计数器、NV存储空间等)。TPM1.2拥有不同的机制来授权客体(objects)的使用、委托使用和迁移等。TPM1.2的授权比较受限制,唯一的授权访问方式是基于passwords和PCR值。例如,为了使用TPM内部的一个密钥,软件需要证明其拥有某个password的知识(通过hash的方式嵌入在可信命令中);而且可以将该密钥与特定的PCR状态seal在一起。这使得TPM1.2的授权机制缺乏灵活性。通常一个计算机平台拥有多个用户,如何共享TPM密钥和数据是比较困难的。不同用户由于password不一样,他们知道的密钥集合也是相互独立的。系统管理员如何授权这些密钥的使用是一个难点。

TPM1.2中,软件通过授权会话证明其拥有password(消息验证码),在命令需要授权前通常通过一个独立的命令来开启会话。TPM2.0提出了增强的授权机制(Enhanced Authorization,EA)

而TPM2.0提供了一个统一的框架来使用授权功能,授权功能可以通过各种独特的方式进行组合来增加灵活性。TPM2.0允许使用明文密码和HMAC的授权,也允许使用多个授权限定符来构造任意复杂的授权策略。增强的授权机制是TPM2.0的一个特色

TPM2.0对密钥和数据的授权使用方式进行了扩展,授权会话变成了策略会话,多个授权方式可以通过布尔逻辑的形式进行组合。例如,在一个场景中,Alice和Bob两个用户拥有不同的passwords,现在想要让他们可以访问同一个密钥,可以创建一个策略“当且仅当Password(Alice) or Password(Bob),允许访问密钥”。软件进程可以先创建策略,在生成TPM密钥或者数据时指定该策略的哈希值即可,TPM不需要知道策略的详情,hash值足够。

国外TPM2.0规范引入的定义

TPM2.0规范主要有四部分,Part1是比较系统的介绍,要了解可信平台模块的基本思想和原理,主要参考Part1。Part2给出TPM接口的变量、数据类型、数据结构和常量。Part3总结TPM能执行的所有命令,对于每个命令给出命令请求和响应的格式,并且通过C代码形式分析了每个命令的执行流程。最后的Part4是给出了Part3中命令代码用到的算法和方法。实际使用可信计算是很多命令的组合,但具体使用时必须从整体上思考,才能组合出实际的应用。

  1. 根信任(Root of Trust),是无法检测到不当行为而必须信任的最小计算系统,它包括测量根信任、存储根信任以及报告根信任三部分组成,是可信计算的基础和出发点。
  2. 可信构建块(Trusted Building Block,TBB),是指用于实例化根信任所需的一个或一组元件。
  3. 可信计算基(Trusted Computing Base,TCB),是负责系统安全策略的系统资源(硬件和软件)的集合。
  4. 信任边界(Trusted Boundaries),TBB与根信任的组合构建了信任边界,在边界内可针对最小配置完成测量、存储和报告。
  5. 传递信任(Transitive Trust),传递信任是一个过程,基于根信任建立可执行函数的信任关系,然后基于该函数建立下一个可执行函数的信任关系,从而构建计算环境的信任链。
  6. 信任机构(Trust Authority),是指创建和发布可信构建块的制造厂商。
  7. 可信平台模组(Trusted Platform Module, TPM),是提供系统可信计算基(TCB)的与主机系统隔离的系统组件,基于标准的规范接口与主机交互。具体实现方式包括:直接或者间接的基于物理资源的实现,例如在处理器中独立的TPM单元或者临时分配的TPM计算单元;单一独立的TPM芯片单元;在主机处理器特定工作模式下运行的代码等。

构建自主可信计算核心模块–TCM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可信计算体系结构

可信计算的体系由可信计算节点及其间的可信连接构成,为其所在的网络环境提供相应等级的安全保障。可信计算节点可根据其所处业务环境部署不同功能的应用程序,可信计算节点包括可信计算节点(服务)和可信计算节点(终端),不同类型的可信节点可独立或相互间通过可信连接构成可信计算体系。

可信计算节点由可信部件和计算部件组成。计算部件为程序提供计算、存储和网络资源,主要包括通用硬件和固件、操作系统及中间件、应用程序和网络等部分构成。

可信部件主要对计算部件进行度量和监控,其中监控功能依据不同的完整性度量模式为可选功能,可信部件同时提供密码算法、平台身份可信、平台数据安全保护等可信计算功能调用的支撑。

可信计算节点中的计算系统部件和可信部件逻辑相互独立,形成具备计算功能和防护功能并存的双体系结构。

可信部件主要包括:可信密码模块(TCM)或可信平台模块(TPM)、可信平台控制模块(TPCM)、可信平台主板、可信软件基(TSB)和可信连接。可信部件具有三种工作模式,即裁决度量模式、报告度量模式和混合度量模式,三种工作模式依赖不同的可信部件。

  • 可信密码模块/可信平台模块
    可信密码模块(TCM)/可信平台模块(TPM)应提供密码算法支撑,具有完整性度量、可信存储及可信报告等功能。
  • 可信平台控制模块
    可信平台控制模块(TPCM)在TCM/TPM 的支撑下应具备主动度量和控制功能。TPCM 应是一个逻辑独立或者物理独立的实体,可采用独立的模块或物理封装、通过IP核或固件方式与TCM/TPM集成、虚拟化实现实体等形式。
  • 可信平台主板
    可信平台主板是集成了TPCM 的计算机主板,将 TPCM 作为信任根建立信任链,并提供 TPCM与其他硬件的连接。
    可信软件基
    可信软件基(TSB)实现对运行于宿主基础软件中应用程序的监控和度量。TSB组成结构及功能接口应符合GB/T37935-2019。
  • 可信连接
    可信连接实现可信计算节点接入网络时的身份鉴别和平台鉴别,包括用户身份鉴别、平台身份鉴别和平台完整性评估,确保只有可信计算节点才能访问网络。可信连接具体构成及功能接口应符合GB/T29828-2013。

完整性度量模式

  1. 裁决度量模式
    在硬件及固件层,TPCM 应为可信计算节点中第一个运行的部件,作为可信计算节点的信任根,应用TCM/TPM 或其他的密码算法和完整性度量功能对BIOS、宿主基础软件等计算部件主动发起完整性度量操作,并依据度量结果进行主动裁决和控制。
    在宿主基础软件及中间件层,TPCM向上层提供使用TPCM基础资源的支撑,TSB通过调用TPCM的相关接口对应用软件进行主动监控和主动度量,对应用软件完全透明,保证应用软件启动时和运行中的可信。可信计算节点在接入网络时,对于支持可信连接的网络部署,可信连接调用TSB和TPCM提供的完整性度量结果,进行相应操作。
  2. 报告度量模式
    在硬件及固件层,BIOS中的CRTM 构成可信计算节点的信任根,并通过TSM/TSS等向上层提供使用TCM/TPM 等基础资源的支撑。在信任链建立过程中,各计算部件代码应调用 TCM/TPM 等的完整性度量接口对信任链建立的下一环节进行完整性度量,并报告度量结果,由应用程序或其使用者进行裁决。
    在宿主软件及中间件层,由应用层的应用程序调用TSM/TSS等相关接口进行完整性度量,并给出完整性报告,由应用程序使用者进行裁决。对于支持可信连接的网络部署,可信连接调用TSM/TSS等提供的接口进行完整性度量,并根据度量结果进行相应操作。
  3. 混合度量模式
    可信部件的混合度量模式参与部件应为TCM/TPM 和TSB。信任链建立过程中,在硬件及固件层的TCM/TPM 工作于报告度量模式,在宿主基础软件及中间件层,TSB通过调用TCM/TPM 相关接口工作于裁决度量模式。
  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Godams

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值