可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强不同计算机平台上计算环境的安全性。TCG 于 2003 年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alliance, TCPA)所开发的规范。现在的规范都不是最终稿,都还在不断的更新中,比如:TPM的规范就从原来的 v1.0 更新到 v1.2,现在还在不断的修订。
度量内核会生成一系列的度量事件,一个度量事件包含两类数据:
度量内核会依次扫描这些数据并生成消息摘要值,这些摘要值是机器操作状态的快照。被测量数据和度量摘要会独立存放。度量摘要值会存储到 TPM 里,这涉及到了 RTR 和 RTS 的使用。被度量数据由度量内核决定放在哪里,实际上这些数据没必要存储,需要时重新生成即可。
度量值描述了被度量组件的属性、特性,至于度量域的词法、语法以及详细程度、度量输出值的格式由度量内核决定,只要能够满足度量事件消费者的需求即可。度量内核可以决定度量数据的格式划分,平台相关的规范包含额外的平台配置要求、表示形式以及其消费者是谁。
存储度量日志 SML 包含了一系列相关的度量值,每个序列共享通用的度量摘要值(所有度量事件生成一个摘要值),即新的测量数据和之前的事件摘要值扩展,重新生成新的摘要值。扩展哈希保证了所有度量值及其顺序都能够很好的由哈希值保护。 TPM 中的一组平台控制寄存器 PCR 用来记录这些摘要值,这些值在 TPM 重启后会被重置。
度量事件的验证方需要重建这个度量值,并和 PCR 值比较即可。 TCG 没有规定 SML 内容的格式,只是建议采用类似 XML 这样的标记语言,最终还是由平台相关的规范来定义(比如 PC向的平台规范)。
SML 有可能会变得很大,所有 SML 不要求 TPM 对其进行保护,不过 SML 在收到 DOS 攻击时,实现者应该能够重新复制或者生成这些日志。
软件报告根 RTR 有两个功能:
PCR 可以在易失、非易失存储中实现,不过必须能够抵抗软件攻击,也应该实施一定措施来防止物理篡改,完整性报告由 身份证明密钥 AIK 签名来验证 PCR 中数值的真实性。
TPM 负责生成并管理 AIK,TPM 可以由多个 AIK,当平台拥有者担心系统存串通问题事使用不同的 AIK 来保护隐私。
TPM 出厂时嵌入了一把密钥:背书/签注密钥(EK),EK 用来签发 AIK 来以建立平台所有者的过程。平台所有者可以创建存储根密钥,存储根密钥用来包装其他 TPM 密钥。
TCG 凭证
TCG 定义了 5 种类型的凭证,每种类型用来提供执行特定操作所必须的信息,凭证采用 ASN.1 表示,这个借用了公钥基础设施中的元素,凭证类型包括:
1. 背书凭证
背书凭证由生成背书密钥 EK 方颁发,EK 是在制作过程中生成的,即 TPM 制造商会生成 EK。不过,EK 可以在发给终端用户前的任意点生成,只要 TPM 制造商声明 EK 已经正常创建并嵌入到可用的 TPM 中。
EK密钥对在客户拿到平台后生成的话,密钥生成的条件可能会影响背书的提供。
背书凭证包含的信息有:
虽然 EK 公钥是公开的,但因为其和 TPM 一一绑定并会对平台进行扩展,所以属于敏感隐私。TCG 预期每个 TPM 需要有一个 EK 凭证。
2. 符合性凭证
这些证书由具有足够可信度的任何人发布,以评估TPM或包含TPM的平台。这些评估可以由平台制造商、供应商或独立实体来进行。这个符合性凭证表明评估方根据评估指南同意可信构建元素TBB 的设计和实现。通过签发凭证,评估者可以证明评估结果,这些会被用于后期的检查。TCG 通过定义有意义的评估标准和准则来促进评估。
评估方可以像一个平台签发多个符合性凭证,一个是给 TPM 的,其他是签给各个可信构成元素 TBB 组件的。
符合性凭证可能包含以下信息:
符合性凭证不包含任何唯一识别任何平台特定的信息。
TCG设想每个平台模型可能存在多个一致性证书,但同一品牌和型号的多个平台只需要一组证书。
3. 平台凭证
平台凭证由平台制造商、供应商或者任何具有足够信用的相关方颁发,平台凭证能够唯一识别平台的制造商并描述平台属性。平台凭证会引用 TPM 背书凭证以及相关的符合性凭证。这些引用由引用凭证的消息签名构成。平台凭证可以被看做是隐私敏感信息,这个凭证和特定平台相关,而不是和一类平台相关。
平台凭证包含如下信息:
平台凭证根据背书凭证证明平台包含一个 TPM。TCG 建议每个平台实例只有一个平台凭证。
4. 验证(资格)凭证
TCG 建议可测量组件(软硬件)能够在功能测试后能够生成其度量值,形成对应的凭证。当然,这只是对那些能够对安全造成威胁的组件。这些度量值需要在安全环境下生成,并形成签名文档,即验证凭证,在运行时进行度量值比较。
以下一些组件通常需要验证证书:
验证凭证由验证实体颁发,任何愿意并有能力度量、证明这些度量值的实体都可以视作验证实体。通常,组件制作商产生这些值的最佳选择。组件描述中的任何一部分可能成为信任决策的原料。然而,验证凭证的候选组件可能会造成安全威胁。
组件描述至少包含如下元素:
一个型号中的一组组件可以颁布一份凭证,也可以颁发多个凭证。
组件更新、升级流程由供应商自定义,比如如何使原来的验证凭证无效等。
5. 身份证明凭证
证明身份凭证(身份证)是用来证明 AIK 私钥的凭证,由 AIK 公钥和其他签发者认为有用的信息组成,证明凭证是由可信服务方颁发并能验证各种凭证同时保证客户端的隐私条款。
通过签发证明身份凭证,签发者能够证明 TPM 的真实性,证明 TPM 的一些事实。证明的目的是 TPM 拥有 AIK 并且这个 AIK 绑定了有效的背书凭证、符合性凭证、平台凭证。受信方进一步保证了其遵守的隐私保护满足用户期望,这些隐私包括在注册过程中暴漏的个人隐私数据。
证明身份凭证参考其他凭证如下:
证明身份凭证包含了一个TPM 制造商和型号的引用,如下图中 C,没有引用隐私敏感的 EK
证明身份凭证同时包含了平台制造商和型号如图 D,值得注意的是这个引用并不是引用平台凭证本身,而是引用平台凭证中信息不敏感的信息
最后,证明身份凭证包含一个指向 TPM 和平台符合性的条目,如图 E
挑战者可以使用该信息以及证书中的其他信息,通过认证协议信任平台。
当考虑系统之间的信息交换时,必须识别通信的端点。端点的组成和组成和通信协议对系统的整体安全性同等重要。TCG设计者主张端点至少由保护协议数据的非对称密钥、密钥存储和处理组成。
传统基于非对称密码的消息交换只能使用公钥对其进行加密。此外,还可以过使用私钥签名防止消息篡改。密钥才是通信的终点,不正确的管理密钥会导致安全性的降低。此外,不正确配置的端点也可能导致失去安全性。TPM通过提供了密钥管理和配置管理功能(例如受保护的存储、测量和报告)。
这些功能可以结合起来“密封”密钥和平台配置,从而定义端点变得更强。
TCG定义了四类受保护的消息交换;绑定 Binding、签名 Signing、密封绑定(Sealed-Binding)和密封签名 Sealed-Signing。
1. 绑定 Binding
装订就是传统意义上的公钥加密,也就是说发送者使用公钥对发送的消息加密,消息只能由接收者的私钥解密来还原出来。当私钥是由 TPM 管理的不可迁移密钥时,即只有这个 TPM 能够使用这个密钥,也就是说这个消息是由这把不可迁移密钥的公钥加密的,从而将其“绑定”到了一个特定的 TPM 上。
对于那些可以在 TPM 之间迁移的密钥来讲,绑定就失去其意义了。
2. 签名
签名也是一个老生常谈,使用一个密钥对消息生成签名,和这个消息联系起来。 TPM 会对其管理的一些密钥标识成只签名密钥,即这些密钥只能用于计算数据的哈希并对其加密。因此,他们不能被认为是加密密钥。
3. 密封
密封相对绑定更进一步,密封的消息会被发送者绑定到一系列平台度量值,平台度量值指明了允许解密时的平台配置状态。密封动作将加密消息和一系列的 PCR 寄存器数值以及不可迁移非对称密钥联系起来。
密封消息创建时会选取一些 PCR 寄存器数值并由非对称密钥加密,用于消息解密的对称密钥也一同被加密,只有拥有非对称解密密钥的 TPM 才能尝试解密对称密钥,只有相应的 PCR 寄存器值和指定值匹配时才能解密消息。
密封是 TPM 一个强大的特性。它保证了只有平台处在特定配置中时才能对消息进行恢复。
4. 密封签名
上面是把消息解密和 PCR 数值联系起来,密封签名就是把消息签名和 PCR 寄存器值联系起来。
TCG 意识到实现可信计算不仅仅需要这些技术标准,还需要一个能够确保这些标准被正确应用的过程支持。
本章节就 TCG 为促进标准的正确应用而采取的方法展开了讨论,采取了一个 3 要素概念框架,即:
为了是评估更有意义,必须对恰当的特性进行评估。图 5 展示了大概的安全上下文,这个推动了特性分类,并被 TCG 选来定义和标准化。
评估能够帮助资产所有者提升缓解措施并识别到相关漏洞,TCG 通过多种方式来实现这一目标:
TCG 认为,上述的安全上下文模型对于所有的资产所有者都是通用的。尽管参与者和角色的规模可能成倍增加,多种多样,评估关注的仍然是所有者利益。因此,评估常常是一个获取客户、用户以及供应商输入的合作过程。
通过 TCG 合规工作组与大家的一起合作,我们定义了TPM 供应商、平台供应商以及其他“保护轮廓”,同时也定义了评估目标 TOE。TOE 从评估组件中识别出功能特性,评估者使用的安全轮廓也是 TCG 工作组定义的。TCG 会进一步的帮助评估协作,比如组织评估活动以及发布评估结果。
TCG 参与两个 TOE 定义:一个是 TPM 设备的,另一个是 TBB 子系统的。TPM 评估能把保证 TPM 能够正常工作,TBB 评估保证了 TPM 被正确的连接到了平台。TPM 轮廓是通用的,覆盖了所有集成 TPM 的平台形式。TBB 是平台相关的,主要用来处理平台问题。这两个评估组合起来能够保证平台安全客户的预期提供其声明的安全和功能。
评估的目标是提高可信任缓解措施的保障,以降低受保护资产的风险。评估结果陈述了已经使用了保障措施、保障措施能够保证其按照正确的方式运作。
上图简述了建立评估保障的上下文环境,从图中可以看出,评估是一种能够让所有者对平台机制更加信任的机制。当然,评估不是所有者产生信任的唯一机制,其他方法还有用户身份识别和认证、用户行为审计、平台配置变化评审和控制、运行时状态监视等,然而这些都依赖于计算内核能够经得起时间的考验,所以评估是这些步骤里的第一步。
TCG 利用 ISO-15408(又名通用准则)标准评估计算系统,这些标准可作为评估人员的指南,它提供了通用术语、分类和评级使得评估结果可以被广泛的受众解释和理解,TCG 预计许多组织参与到 TCG 产品的评估和认证。ISO-15408 在全球范围内被信息技术 IT、信息安全 IS 和政府采购机构广泛接受。
一次成功的评估需要多个输入因素,从上图可以看出这些输入因素。
CC 由以下区别并联系的各部分组成:
a)第一部分是介绍和通用模型,这是对 CC 的介绍,它定义了 IT 安全评估的一般概念和原则,并展示了一个通用模型的评估;同时,这部分也讲述了 IT 安全目标的表示结构来选择和定义 IT 安全要求、编写产品、系统的高级别规范。
b)第二部分是安全功能要求,这部分建立了一系列功能组件作为表达 TOEs 中功能需求的标准方式,并对功能组件、系列、类别进行分类,安全功能被划分为 11 个类:
功能的分级基于一个限定条件,该限定条件表示通过直接攻击其底层安全机制来击败其预期安全行为所需的最小努力。这个限定条件叫做功能强度,具有 3 个级别:
TCG 建议采用中等功能强度的目标,然后TPM 和 TBB 特定的轮廓可以指定其他 SOF 等级。大多数 TCG 要素满足中等强度 SOF,有非常少量的不能。早期的 TPM 和 TBB 评估接受基本强度的 SOF 级别。
c)第三部分是安全保障要求,安全保障要求建立了一系列的标准的保障组件来表示 TOEs 保障要求。这部分同时也对保障组件进行分类、分级工作,并定义了保护轮廓 PP 评估准测和安全目标 ST。这里提出了评估保障级 EAL 的概念,通过评估保障级表来给 TOEs 评级。
一共有 7 个 EAL 等级,各个等级表示出不断增加的工作量和复杂度:
平台供应商决定最适合其用户需求的 EAL 等级,TCG 设置了一个比较低的 EAL 限制来保证实现最小的安全保障。
为了支持上面通用准则的 3 部分,TCG 发布了其他文档,包括技术原理材料和说明文档。
定义评估方法论的工作主要留给评估团队,TCG 期望 TPM 和平台供应商能够为评估工作贡献一份力量,比如可以通过提升已有测试和验证工作来实现最小保障级别。
该方案是指制定评价标准并监督评价质量的评价机构,TCG组织为符合TCG的产品提供方案。
The product is the manufactured part that implements security functionality. Products are identified by manufacturer, model number and revision level.
产品指的实现了安全功能的制造的零件,产品由制造商、型号、修订版本唯一识别。
保护轮廓为 TOE 提供了详细的描述,并描述了评估目标。TOE 功能中比较由代表性的 CC 功能域使用独立的风格表示。此外,目标等级同时也被确定,一个是功能另一个是保障级别。CC 2.1 版本(ISO/IEC 15408)和 信息技术安全评估 CEM 99/008 方法学可能对轮廓的编写者有帮助。
TCG 正在采用两个轮廓,一个是 TPM 的,另一个是 TBB 的。TPM 保护轮廓(CCEVS-VR-02-0022)定义了 TPM 安全属性,TBB 保护轮廓定义了 TBB 安全属性。
评估人员获得所有评估相关的输入,进行评估并产生评估报告。评估人员应该在 TOE 的所有方面以及相关准则方面具有专家级的知识掌握。
评估结果包含了支持评估小组建议评级的观察和论证,评估结果根据评估方案建立的指南进行组织排版,从而提高了评估结果的可对比性。评估结果由认证机构审查,并作出最终审批决定。认证程序不同于评估程序。
TCG 设计了两种产品的评估,一个是 TPM 组件,另一个是包含 TPM 组件的平台。
认证过程是对评估结果的独立检查,从而产生最终证书或批准,该证书通常是公开的。为了让认证
更有意义,认证必须由称职的评估人员进行评估,认证确定最终评级并提供评估证明。值得注意的是,认证过程是在应用安全标准时获得更大一致性的一种手段。
认证的产品通常会进入一个公众能够访问的名单,发表的名单能够帮助提升安全意识,进一步已经影响产品采购。认证产品列表也可以以电子形式发表和订阅。认证结果以 TCG 合规凭证形式签发。
任何人都有权进行认证,认证的目的是为鉴定提供可信的参考,因此认证产品的客户可以决定哪些组织是可信的。
TCG认为,从产品制造商、供应商、产品消费者和顾问等多个组织中都可以找到可信度。产品所有者最终决定哪个认证机构对保证和风险管理做的最好。
TCG希望认证机构将成为有价值的、不可或缺的资源,有助于可信产品的采购决策。
鉴定是客户在确定哪种技术最能支持客户安全和安全目标时参与的过程。
获取安全或安保目标的安全政策、实践、指南和程序是特定于客户的,并影响产品采购决策。为了使认证成为有意义,TPM和TBB评估必须由可信的认证机构进行。安全策略应定义受信任的人和责任。
虽然ISO-15408评估过程将执行许多TCG定义的标准,但它不能替代符合性标准。TCG 参与了TCG 标准的符合标准,这些规范将在功能上进行合规性和完整性测试。
本节重点描述了对 TPM 设备制造、部署和维护的关键影响。这些可以通过仔细阅读本文件和其他 TCG 文件来实现,但为了方便起见,这里包含了一些描述。
物理 TPM 是以硬件形式实现,还是以软件形式实现,TPM 都应该遵循不可篡改、不可轻易移除、替换等原则,这个要求影响 TPM 的封装和集成 TPM 平台的制造过程。TPM 封装必须能够限制探针探测以及 EMR 扫描,TPM 必须被“粘”到母板上,能够阻止其拆除或者拆除后肉眼明显可见。
如果 TPM 部署后需要升级,那么将会用到 TPM_FieldUpgrade 命令,升级过程可能要求现场服务人员能够直接或者具有授权权限来进行升级,TPM_FieldUpgrade 接口是厂商定义的。
TPM 包含了高强度密码安全,TCG 已经限制了密码学的访问并防止这些密码学的高带宽使用。同时,TCG 认为 TPM 不会收到进出口管制,然而 TPM 供应商仍然需要获得豁免权。
TCG 信任模型可能需要制造商增加制造工艺:创建和维护记录数据库的服务,需要为制造的每个零件创建一个记录,记录需要通过制造商确定的某种方式交付给最终客户。
制造商需要建立公共密钥签名设施,以适用于签署低容量和高容量的记录。某些记录可能包含隐私敏感信息,制造商可能会谨慎保护这些信息。
用于签署记录的钥匙应通过合理但可信的IT程序加以保护,防止未经授权使用或泄露。
//take ownership of tpm
TSS_RESULT rc=Tspi_TPM_TakeOwnership(a_hTpm, a_hSrk, NULL_HKEY);
if(rc!=TSS_SUCCESS)
{
fprintf(stderr,"Tspi_TPM_TakeOwnership:%s ", Trspi_Error_String(rc));
goto out_close;
}
printf("result is %d ",result);
return result;
//create key
SS_RESULT result = Tspi_Key_CreateKey(hKey,hSrk,NULL_HOBJECT);
if(result!=TSS_SUCCESS)
{
fprintf(stderr,"Tspi_Key_CreateKey: %s ", Trspi_Error_String(rc));
goto out_close;
}
printf("create key success! ");
//data encryption
TSS_RESULT rc=Tspi_Data_Bind(hEncdata,hKey, strlen(testCipher),(unsigned char*)testCipher);
if(result !=TSS_SUCCESS)
{
fprintf(stderr,"Tspi_Data_Bind: %s ",Trspi_Error_String(rc));
goto out_close;
}
//data decryption
TSS_RESULT rc=Tspi_Data_Unbind(hEncdata,hKey, &unsealedDataLength, &unsealedData)
if(rc!=TSS_SUCCESS)
{
fprintf(stderr,"Tspi_Data_Unbind: %s ",Trspi_Error_String(rc));
goto out_close;
}
TCG标准规范下载
TCG,可信计算组织;
TPM,可信平台模块;
可信度量,主体通过密码学方法对客体进行度量的方法;
皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~
“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~
下一篇 「TCG 规范解读」TCG 主规范-设计原则