-
什么是可信计算
在没有恶意程序、病毒干扰的情况下,计算环境内的软件通常是按照设定的程序完成用户的命令,用户也会信任计算环境反馈的结果,即当前计算环境是“可信的”。但,如果计算环境有恶意程序或病毒潜伏、侵入,计算的结果就可能不是用户的预期结果,但往往用户难以发现结果已经不正确,即当前计算环境是“不可信的”,在这样的前提下,可信计算使用一种全新的思路实现计算环境安全可信,即从计算环境底层入手,从硬件起,建立可以信赖的固件à操作系统à应用程序,进而确保用户计算结果的可信。
图1. 可信定义与图解
-
可信计算的国际国内组织与相关标准
国内:中关村可信计算产业联盟成立于2014年4月16日。目前,联盟发展到200多家会员单位,涉及到国内可信计算产业链的各个环节,覆盖了“产学研用”各界。联盟由16位院士组成科学技术指导委员会,沈昌祥院士任主任委员。目前,联盟已推出第三代可信计算概念,相关内容可以翻阅由武汉大学胡俊老师编写的《可信计算3.0工程初步》。可信计算相关的国标在全国网络安全标准化技术委员会(https://www.tc260.org.cn/)的工作组内编制、发布实施;已经发布实施的标准参考如下列表:
ID | 标准号 | 标准名称 | 发布日期 |
1 | GB/T 29827-2013 | 信息安全技术 可信计算规范 可信平台主板功能接口 | 2013-11-12 |
2 | GB/T 29828-2013 | 信息安全技术 可信计算规范 可信连接架构 | 2013-11-12 |
3 | GB/T 29829-2013 | 信息安全技术 可信计算密码支撑平台功能与接口规范 | 2013-11-12 |
4 | GB/T 29829-2022 | 信息安全技术 可信计算密码支撑平台功能与接口规范 | 2022-04-15 |
5 | GB/T 40650-2021 | 信息安全技术 可信计算规范 可信平台控制模块 | 2021-10-11 |
6 | GB/T 38638-2020 | 信息安全技术 可信计算 可信计算体系结构 | 2020-04-28 |
7 | GB/T 38644-2020 | 信息安全技术 可信计算 可信连接测试方法 | 2020-04-28 |
8 | GB/T 37935-2019 | 信息安全技术 可信计算规范 可信软件基 | 2019-08-30 |
9 | GB/T 36651-2018 | 信息安全技术 基于可信环境的生物特征识别身份鉴别协议框架 | 2018-10-10 |
10 | GB/T 36639-2018 | 信息安全技术 可信计算规范 服务器可信支撑平台 | 2018-09-17 |
表1. 国内可信计算列表
国际:国际上有国际可信计算组织(Trusted Computing Group) TCG(Trusted Computing Group),是由AMD、惠普、IBM、英特尔和微软等公司组成的一个组织,旨在建立个人电脑的可信计算概念。该组织于2003年成立,并取代了于1999年成立的可信计算平台联盟(TCPA,Trusted Computing Platform Alliance)。该组织已发展成员200多家,遍布全球各大洲主力厂商。已实施的标准参考如下列表:
ID | 标准号 | 标准名称 | 发布日期 |
1 | - | TPM-Main-v1.2-Part-1-Design-Principles_v1.2_rev116_01032011 | 2011-03-01 |
2 | - | TPM-Main-v1.2-Part-2-TPM-Structures_v1.2_rev116_01032011 | 2011-03-01 |
3 | - | TPM-Main-v1.2-Part-3-Commands_v1.2_rev116_01032011 | 2011-03-01 |
4 | ISO/IEC 11889-1:2015 | Information technology—TPM Library—Part 1: Architecture | 2016-09-29 |
5 | ISO/IEC 11889-2:2015 | Information technology—TPM Library—Part 2: Structures | 2016-09-29 |
6 | ISO/IEC 11889-3:2015 | Information technology—TPM Library—Part 3: Commands | 2016-09-29 |
7 | ISO/IEC 11889-4:2015 | Information technology—TPM Library—Part 4: Supporting Routines | 2016-09-29 |
表2. 已实施TPM2.0标准
-
可信计算产品
参照国内国家标准的可信计算产品有TCM(Trusted Cryptography Module)可信密码模块,该类产品主要有两个版本:第一个版本参照GB/T 29829-2013的第一版TCM产品,该产品通常以立片上系统的形式参与到计算系统中,计算系统通过命令接口和TCM交互,TCM主要由国密算法引擎(SM2、SM3、SM4、)、HMAC引擎、随机数发生器、易失性存储器、非易失性存储器、执行单元组成,TCM可以作为设备的可信根,通过可信度量、可信报告、可信存储三种机制配合操作系统对TCM的平台管理实现平台安全。第二个版本的TCM产品参照GB/T 29829-2022标准,参照该版本国标的TCM被业内称为TCM2.0产品,因为GB/T 29829-2022标准在增强GB/T 29829-2013标准同时也在很大程度上与TCG制定的TPM2.0标准兼容。
欧盟、美、日、韩等国主的可信计算产品有TPM(Trusted Platform Module)可信平台模块(也称受信任的平台模块),目前市场上该类产品主要有两个版本,TPM1.2和TPM2.0,两个版本命令不兼容,目前市场上TPM产品已经逐渐以2.0版本为主。借助微软Windows操作系统在国内的庞大市占率,TPM产品在国内也有可观的销量。
可信计算产品除了有独立硬件芯片(discrete)外也有集成到主板上的固件(Firmware)形态。两种形态各有优缺点,独立成片安全性好,集成固件节约成本。
-
TPM和TCM的区别和联系
- 功能参数
对比TPM规范(ISO IEC 11889-2015 《Information technology- Trusted Platform Module Library》)和TCM规范(GB/T 29829—2022),TPM2.0和TCM2.0主要功能模块划分是相同的,如下图:
| |
图2. TCM2可信密码模块结构 | 图3. TPM2总体架构 |
TPM和TCM两部标准在命令集上有较明显区别,TPM标准包含了113条命令,TCM标准包含了82条命令,为了方便大家查看,下表列出来两个命令集的差异点:
TPM包含,TCM不包含的命令 | TCM包含,TPM不包含的命令 |
TPM2_CreateLoaded TPM2_RSA_Encrypt TPM2_RSA_Decrypt TPM2_GetSessionAuditDigest TPM2_GetCommandAuditDigest TPM2_SetCommandCodeAuditStatus TPM2_PCR_Event TPM2_PCR_Allocate TPM2_PCR_SetAuthPolicy TPM2_PCR_SetAuthValue TPM2_PolicyLocality TPM2_PolicyNV TPM2_PolicyCounterTimer TPM2_PolicyCpHash TPM2_PolicyNameHash TPM2_PolicyDuplicationSelect TPM2_PolicyAuthorize TPM2_PolicyNvWritten TPM2_PolicyTemplate TPM2_PolicyAuthorizeNV TPM2_ChangePPS TPM2_ChangeEPS TPM2_SetAlgorithmSet TPM2_FieldUpgradeStart TPM2_FieldUpgradeData TPM2_FirmwareRead TPM2_ReadClock TPM2_ClockSet TPM2_ClockRateAdjust TPM2_NV_UndefineSpaceSpecial TPM2_NV_Certify | TCM2_ECC_Encrypt() TCM2_ECC_Decrypt() |
表3. TCM2.0 和 TPM2.0 命令差异对比表
- 关键算法
TPM以RSA-SHA-AES算法为主要体系,RSA算法参与子密钥生成、导入导出TPM数据的打包、签名延签,身份验证、策略命令执行等;SHA摘要算法参与代码、数据摘要、平台寄存器扩展、身份验证、策略命令执行、密钥交换等;AES主要参与数据加解密;
TCM以SM2-SM3-SM4为主要算法体系,SM2算法参与子密钥生成、导入导出TPM数据的打包、签名延签,身份验证、策略命令执行等;SM3摘要算法参与代码、数据摘要、平台寄存器扩展、身份验证、策略命令执行、密钥交换等;SM4主要参与数据加解密;
参考资料和扩展阅读:
- Understanding modern UEFI-based platform boot
- Resources Archive | Trusted Computing Group
- https://trustedcomputinggroup.org/wp-content/uploads/TCG_FIPS_140_Guidance_for_TPM2_0_v1r1_20170202.pdf
- 《A Practical Guide To TPM 2.0》—Will Arthur, David Challener