修订历史:
2023.3.4
2023.6.18
可信计算组织(Trusted Computing Group, TCG)是一个非盈利的工业标准组织,它的宗旨是加强不同计算机平台上计算环境的安全性。TCG 于 2003 年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alliance, TCPA)所开发的规范。现在的规范都不是最终稿,都还在不断的更新中,比如:TPM 的规范就从原来的 v1.0 更新到 v1.2,现在还在不断的修订。
前言
TCG 规范结构采用 5 层结构:
- 第一层是词汇表和架构概述
- 第二层是核心规范和平台相关规范书写指南
- 第三层是平台相关规范
- 第四层是平台相关合规
- 第五层是 ISO-15408 CC PP
从上述规范结构可以看出,除了本系列文章主要解读的规范外,TCG 还定义了一些安全合规规范,这些合规规范主要从 ISO-15408 通用准则出发,形成了设计指导与评估保障双体系规范结构。
第一层
1.TCG 文档路线图和词汇表
TCG 文档路线图和词汇表部分为“架构概述”提供支撑

上图即是 TCG 文档路线图,包含了架构概述、核心规范、可信软件栈 TSS、可信基础设施、可信平台相关文档等。
TCG 文档词汇表涵盖了规范文档中常用的词汇,这些词汇在词汇表中有着清晰的描述,包括每个词汇的缩写、术语、描述等,这个部分非常重要,可以作为阅读规范文档的提示。
具体参考 「TCG 规范解读」词汇表
2.架构概述(Architecture Overview)
架构概述总体上指导着“平台相关标准编写指南”、“TPM 主要规范 1~4”、“TSS 软件栈”及“基础设施架构和协议”。

TCG 架构概述讲述了 TCG 的目标和体系结构,定义了 TPM 平台的使用场景、合规流程、制造和支持过程可能受到的影响等。
第二层
1. 平台相关规范书写指南(platform-specific specification writer guide)
平台相关规范书写指南指导了“PC 平台规范”、“PDA 平台规范”、“蜂窝平台规范”以及其他平台规范的书写

2. TPM 主要规范 1~4

阐述了 TPM 的体系结构,各个部件的功能,设计规范,TPM 内部所通讯的数据结构,TPM 底层执行的命令规范。
主要包括三个标准:
- TPM Main-Part 1 Design Principles 即 TPM 的设计原则;
- TPM Main Part 2 TPM Structures 即 TPM 编程中使用的数据结构;
- TPM Main Part 3 Commands-TPM 命令说明。
- TPM Main Part 4 Compliance 合规
具体参考:
3. 软件栈规范(TSS Specifications)

TSS(TPM Software Stack) 可以理解为方便可信应用使用TPM功能的软件中间件,向上层应用提供一些标准 API 接口,屏蔽底层TPM编程实现细节。该标准说明了软件栈包括内容、作用、接口规范。
其中从上到下包括:
- TCG Service Provider (TSP);
- TCG Core Services (TCS);
- TCG Device Driver Library (TDDL);
- TCG DeviceDriver (TDD);
- 每层模块的接口使用方式。
具体参考:
4. 基础框架规范(Infrastructure Specifications)

基础设施架构部分主要描述了凭证证书、备份迁移、可信网络连接架构(接口和 TLS 证明)、SKAE、用例、平台可信服务以及相关的模式。这部分主要提高 TCG 相关技术的互操作性,侧重于可信系统的开发、配置、互操作性方面。
具体参考:
第三层
1. PC 平台规范(PC Platform Specifications)

具体对于 PC+TPM 的相关规范,主要说明了 TPM Interface Specification (TIS)。如果使用 PC 做可信计算的开发,需要参照该文档。但是这仅是一个规范标准,具体还要参照TPM的生产商的规范和实现方式。
具体参考:
2. PDA 平台规范(PDA Platform Specifications)
PDA(Personal Digital Assistant),又称为掌上电脑,可以帮助我们完成在移动中工作,学习,娱乐等。按使用来分类,分为工业级PDA和消费品PDA。工业级PDA主要应用在工业领域,常见的有条码扫描器、RFID读写器、POS机等都可以称作PDA;消费品PDA包括的比较多,智能手机、平板电脑、手持的游戏机等。不过目前我们更倾向于将 PDA、智能手机、平板电脑并列来讲。

3. 蜂窝平台规范(Cellular Platform Specifications)
主要指的是智能手机啦~

4. 其他平台(Other Platform)

5.通用准则 CC

CC 是国际标准化组织统一现有多种准则的结果,是最全面的评价准则。
1996 年 6 月,CC 第一版发布;1998 年 5 月,CC 第二版发布;1999 年 10 月 CC V2.1 版发布,并且成为 ISO 标准。CC 的主要思想和框架都取自 ITSEC 和 FC ,并充分突出了“保护轮廓”概念。CC 将评估过程划分为功能和保障两部分,评估等级分为 EAL1、EAL2、EAL3、EAL4、EAL5、EAL6 和EAL7 共七个等级。每一级均需评估 7 个功能类,分别是配置管理、分发和操作、开发过程、指导文献、生命期的技术支持、测试和脆弱性评估。
CC 主要内容包括:
- EAL1:功能测试级。适用在对正确运行要求有一定信心的场合,此场合下认为安全威胁并不严重。个人信息保护就是其中一例。
- EAL2:结构测试级。在交付设计信息和测试结果时,需要开发人员的合作。但在超出良好的商业运作的一致性方面,不要花费过多的精力。
- EAL3:系统测试和检查级。在不大量更改已有合理才开发实现的前提下,允许一位尽责的开发人员在设计阶段从正确的安全工程中获得最大限度的保证。
- EAL4:系统设计,测试和复查级。它使开发人员从正确的安全工程中获得最大限度的保证,这种安全工程基于良好的商业开发实践,这种实践很严格,但并不需要大量专业知识,技巧和其他资源。在经济合理的条件下,对一个已经存在的生产线进行翻新时,EAL4是所能达到的最高级别。2002 年,Windows 2000 成为第一种获得 EAL4 认证的操作系统,这表明它已经达到了民用产品应该具有的评价保证级别。
- EAL5:半正式设计和测试级。开发者能从安全工程中获得最大限度的安全保证,该安全工程是基于严格的商业开发实践,靠适度应用专业安全工程技术来支持的。EAL5 以上的级别是军用信息设备,用于公开密钥基础设施的信息设备应达到的标准。
- EAL6:半正式验证设计和测试级。开发者通过安全工程技术的应用和严格的开发环境获得高度的认证,保护高价值的资产能够对抗重大风险。
- EAL7:正式验证设计和测试级。仅用于风险非常高或有高价值资产值得更高开销的地方。
第四层
1. PC 平台合规(PC Platform Conformance)

PC 平台的合规性规范。
2. PDA 平台合规(PDA Platform Conformance)

PDA 平台的合规性规范。
3. 蜂窝平台合规(Cellular Platform Conformance)

4. 其他合规(Other Conformance)

5.通用评估方法学 CEM

CEM 是 CC 标准出版后,为了在评估中应用CC而提供的一种通用方法,是与 CC 配套的文档。
CEM 分为两部分,第一部分主要包括 CEM 简介,CC 评估中的通用原则和假设,以及评估的一般模型;第二部分主要讲述评估的一般任务、PP 评估、ST 评估以及 EALl-EAL4 级的评估。CEM 没有提供EAL4级以上的评估方法。
CEM 的评估过程主要分为三个阶段:准备阶段、实施阶段和总结阶段。准备阶段主要是准备各种评估证据,包括人员的培训。发起者向评估者提供 PP 或 ST,评估者对其做可行性分析,并向发起者要求相关信息。发起者向评估者提供一系列评估证据。评估者复审 PPa.kST 并建议发起者做出修改以便建立良好的评估基础。如果达到评估机制要求,则进入下一阶段。 这一阶段产生的输出结果包括评估证据清单、评估活动和评估信息清单,所有参与者都必须对鉴定和保护专有信息负责,输出结果必须得到所有人的认同。执行阶段是评估的主要部分,评估者复审评估证据,并按照保证要求执行所规定的评估行为。这一过程中,评估者可以利用评估观察报告要求验证者澄清某个要求的应用,而验证者应对之做出解释。评估者也可利用观察报告指出潜在的弱点或缺陷,并从发起者或开发者那组要求更多信息。执行阶段的输出是评估技术报告( Evaluate Technical Reports,ETR)。结论阶段,评估者向验证者递交 ETR,不同的评估机制觌楚了对持有 ETR 的限制,可能包括递交给发起者或开发者,ETR 可能包括一些敏感或私有信息,在递交给发起者之前要进行处理。验证者复审并分析 ETR 以确保与 CC、CEM 及评估机制的要求一致,并对 ETR 中的最终评判做出同意或不同意的决定。
验证者可以以 ETR 为主要参考准备一份评估总结报告(Evaluation Summary Report,ESR)并递交给评估权威机构。发起者、开发者、评估者有权复核 ESR。
第五层
ISO-15408 Common Criteria Protection Profiles

TCSEC 的研究中心是 TCB,而 ITSEC、CC 和 ISO/IEC 15408 信息技术安全评估准则中讨论的是 TOE(target of evaluation,评估对象)。ISO/IEC 15408 评估准则中讨论的是 TOE 的安全功能(toe security function,缩写为tsf),是安全的核心,类似 TCSEC 的 TCB。TSF 安全功能执行的是 TOE 的安全策略(toe security policy,缩写为tsp)。TSP 是由多个安全功能策略(security function policies ,缩写为SFPS)所组成,而每一个 SFP 是由安全功能(SF)实现的。实现 TSF 的机制与 TCSEC 的相同,即“引用监控器”和其它安全功能实现机制。
1. ISO/IEC 15408 测评准则符合pdr模型
ISO/IEC 15408 测评准则是与 PDR(防护、检听、反应)模型和现代动态安全概念相符合的。强调安全的假设、威胁的、安全策略等安全需求的针对性。这种需求包括安全功能需求、安全认证需求和安全环境等。
2.ISO/IEC 15408 测评准则是面向整个信息产品生存期的
即面向安全需求、设计、实现、测试、管理和维护全过程。强调产品需求和开发阶段对产品安全的重要作用。同时明确了安全开发环境与操作环境的关系,重视产品开发和操作两个环境对安全的影响。只有这种测评而不是仅仅安全特性的测评可以提高和规范信息安全产业素质与质量。
3.ISO/IEC 15408 测评准则不仅考虑了保密性,而且还考虑了完整性和可用性多方面的安全特性
它比 TCSEC 扩展了许多当代it发展的安全技术功能,应用范围和适应性很强。ISO/IEC 15408 测评准则全面定义了安全属性:用户属性、客体属性、主体属性和信息属性。特别强调把用户属性和主体属性分开定义(在 TCSEC 中主体包含用户),为了解决强制访问控制,在属性类型中定义了有序关系的安全属性。为了解决数据交换的安全,明确要求输出/输入划分带安全属性和不带安全属性两种形式,强调了网络安全中抗抵赖的安全要求,区分用户数据和系统资源的防护,突出了必要的检测和监控安全要求,强调了安全管理的重要作用。对可信恢复和可信备份、操作重演都有安全要求,定义了加密支持的安全要求,考虑到用户的隐私的适当权力,讨论了某些故障、错误和异常的安全防护问题。
4. ISO/IEC 15408 测评准则有与之配套的安全测评方法(CEM)和信息安全标准(PP 标准)
测评工作不仅定性而且定量,准则的规范性大大提高,有较强的可操作性。为测评工作现代化和发展提供了基础。测评种类划分成:安全防护结构(PP)、安全目标(ST)和认证级别(EAL)测评。
附录
什么是CC(Common Criteria)认证,为什么重要?
信息技术安全评估通用标准(ISO15408)(Common Criteria for Information Technology Security Evaluation缩写为Common Criteria或CC)是计算机相关产品、信息技术产品安全认证的国际标准。当前最新版本为3.1修订版5。什么是CC认证?CC标准是一个框架,计算机相关产品或信息技术产品开发者可以根据保护配置文件(Protection Profile, 简称PP)中的安全功能要求(SFR)和安全功能保证要求(SAR)开发自己的产品来满足认证需求。
什么是通用标准(Common Criteria)认证?
CC标准是一个框架,信息技术用户可以在其中使用保护配置文件(PP)指定的安全功能要求(SFR)和安全功能 保证要求(SAR)。然后,技术供应商可以实施和/或对其产品的安全属性进行声明,并委托测试实验室评估其产品以确定它们是否满足这些声明。简而言之,CC可确保以严格,标准和可重复的方式在与其目标使用环境相对应的水平上对信息技术安全产品进行规范、实施和评估的过程。成功完成此过程后,供应商将获得“CC”认证。
CC认证往往是用作政府驱动的认证计划的基础。通常完成评估的产品,会使用到政府机构和关键基础设施中。此外,许多企业组织使用CC标准作为依据,采购拥有CC认证的软件或硬件产品是提供产品质量保证的必要条件。
CC标准是在全球范围内最广泛地相互认可的安全IT产品的推动力。尽管每个国家都有自己的认证程序,但《CC标准互认协定》(CCRA)会根据协作保护规范(cPP)来认可评估,这意味着所有成员国都将认可这些认证。
CC认证的目的
关于存在通用标准认证的原因有多个目的。其中一些包括:
1. 改善安全性增强的信息技术(IT)产品和已通过CC评估的保护配置文件(Protection Profile,简称PP)的可用性;
2. 确保对IT产品和保护配置文件(PP)的评估以一致的高标准执行,并增强对这些PP和产品的信心;
3. 消除重复的信息技术(IT)产品评估和保护配置文件(PP)的负担;
4. 提高保护配置文件(PP)和信息技术(IT)产品的验证/认证过程的效益和效率。
CC的关键概念和定义
以下是尝试理解通用标准认证时需要了解的一些关键术语和概念。
评估目标(TOE)
——需要进行评估的标的产品或系统。
保护配置文件(PP)
——由用户或用户团体创建的文档,用于标识与该用户特定目的相关的一类安全设备(例如防火墙和数字签名)的安全要求。产品供应商可以选择实施符合一个或多个PP的产品,并对其进行产品评估。在这种情况下,PP可以用作产品安全目标(ST)的模板,或者ST的作者确保将相关保护配置文件中的所有要求写入评测产品的ST文件中。寻找特定产品的客户可以专注于通过专有PP认证的产品。美国目前仅允许基于PP进行的评估。
安全目标(ST)
——陈述评估目标的安全属性的文档。ST可以要求遵从一个或多个PP。评估目标是根据其安全目标中建立的SFR(安全功能要求)进行评估的。这使供应商可以准确地调整评估范围以匹配其产品预期的安全功能。供应商通常会公布他们产品的ST,以便让潜在客户可以准确的了解到已通过评估认证的特定安全功能。
安全功能要求(SFR)
——列出产品提供的各个安全功能的要求。CC提供了此类功能的标准目录。即使两个评估目标是同一类型的产品,SFR的列表也可能因评估而异。尽管CC并未建议将任何SFR包含在安全目标中,但它会识别一种功能的正确操作依赖于另一功能的依赖关系。
安全保障要求(SAR)
——一种质量保证过程,描述了在开发和评估过程中采取的步骤,以确保符合要求的安全功能。
评估保障水平 (EAL)
——描述评估的严格性和深度的数字等级。每个EAL都对应一揽子SAR,该SAR涵盖了产品在一定严格程度上的完整开发。CC列出了七个EAL级别,其中EAL 1是最基本的,EAL 7是最严格的;但是,这些级别仅意味着要进行更多的测试-而不是产品本身更安全。美国目前仅允许基于PP的评估,而不能进行EAL。其他国家评估计划(例如加拿大的评估计划)正在逐步淘汰基于EAL的评估,并且仅接受声称严格符合批准的PP的评估产品。
//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;
}
皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~
“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~