2021年6月24日,在微软正式推出了 Windows 11 操作系统之后,同时发布了必须满足 Windows 的最低硬件要求,即WIT(Wintel Trust),其中指定了必须包含TPM硬件及软件,即不包含TPM硬件的设备不能使用Windows 11。
微软并不是第一次与TPM硬件绑定,在Windows 8发布的时候,微软与Intel合作推出Platform Trust Technology(PTT),通过将安全芯片内置于CPU内,然后配合UEFI固件实现等效于TPM 2.0的fTPM(Firmware based TPM)。Intel Haswell(4代)以后的处理器、AMD Zen架构处理器以及ARM处理器都支持fTPM技术。
随着产业条件的逐渐成熟,2016年微软再次要求新安装Windows 10的计算机必须支持TPM2.0,直至Windows 11正式将TPM 2.0作为其最低硬件要求,实现了真正意义上的强绑定。一时间,TPM2.0迅速成为大家讨论的焦点,人们开始好奇这个模块的存在到底有何意义,以至于竟然成为了Windows11升级的必要条件。有鉴于此,接下来我们会详细介绍何为TPM模块,它具有什么功能以及我国在可信模块技术方面的发展情况。
何为TPM模块?
TPM是可信平台模块(Trusted Platform Module)的简称,是一种存在于计算机内部为计算机提供安全加密的芯片。该芯片符合TPM标准,通过自身加密算法保护计算机系统,防止非法用户的数据访问。
TPM标准由可信计算组织TCG(Trusted Computing Group)提出。早期名称为可信计算平台联盟TCPA(Trusted Computing Platform Alliance),由HP 、IBM、Intel、微软等多家公司联合发起成立,该联盟致力于促成新一代具有安全且可信赖的硬件运算平台。后增加了诺基亚、索尼等公司,并改组为可信计算组织TCG,旨于从跨平台和操作环境的硬件和软件两方面,制定可信计算机相关标准和规范,即TPM标准。
TPM标准早期已知版本包括1.1b版,后于2003年10月提出升级为1.2版,并在2009年被接受为ISO标准。随着ICT(Information Communications Technology,信息、通信和技术,简称ICT)技术的快速发展,TCG于2008年成功开发TPM 2.0第一版标准库,2013年3月正式公开发布TPM2.0标准库,从此TPM进入2.0时代。
TPM作为国外可信计算平台的可信根,实际上是一块安装在主板上,含有密码运算部件和存储部件的系统级芯片。TPM的密码运算可以分别实现RSA、ECC、SHA、AES等算法,它在生成密钥的同时,还能对生成的密钥进行管理。正是借助于其自身的密钥生成机制与管理功能,再借助于系统层面的配套软件,可以完成大量功能,包括计算平台的可靠性认证、用户身份认证、防止未经授权的软件修改、全面加密硬盘和可擦写以及数字签名等功能。
我国的可信根
尽管TCG是非营利性机构,TPM的技术也是开放的,但掌握核心技术的仍是Microsoft、Intel、IBM等国际巨头。从安全战略方面分析,如果采用国外的TPM技术,我国的安全体系就会控制在别人手上,中国将来的标准计算机上产生的所有信息对外国人来说将不存在秘密,这样安全技术的主导权、产业的主导权就更谈不上了。因此,国内产业界、学术界发出共同的心声:必须要建立独立自主的可信计算技术体系和标准。只有我们拥有独立自主的可信计算技术体系,为国家信息安全基础建设打下坚实基础,才能保证未来我们有能力、有办法保护秘密,保护主权。只有掌握这些关键技术,才能提升我国信息安全核心竞争力。
早在1992年,我国专家沈昌祥院士就发明了微机保护卡,利用密码技术解决了DOS运行环境中的PC机安全保护问题,达到了无病毒、自我免疫的效果,这是我国最早一代的可信计算产品。随后我国可信计算经过二十多年刻苦攻关、不断完善,已经形成了完善的理论基础和完备的国家标准体系。我国的可信计算3.0克服了国外TCG TPM被动挂接的先天缺陷,变被动为主动,创造性的提出了运行和防护并存的双体系架构,采用自主创新的对称非对称相结合的密码体制,作为免疫基因;通过主动度量控制芯片TPCM(Trusted platform control module)植入可信源根,在可信密码模块TCM(Trusted Cryptography Module)基础上加以信任根控制功能,实现密码与控制相结合,将可信平台控制模块设计为a可信计算控制节点,实现了TPCM对整个平台的主动控制。TPCM集成TCM可信密码模块构成主动免疫可信体系的可信根,主要用于建立和保障信任源点,提供可信平台控制、完整性度量、安全存储、可信报告以及密码服务等一系列可信计算功能。
可信计算3.0双体系架构
国内外可信计算技术的对比
作为国外和国内可信计算平台的可信根,TPM和TPCM+TCM都能够向受保护的组件提供密码运算和完整性检查功能,还可以向远程可信验证方证明平台当前工作状态的可信性。此外,还可以通过硬件或软件方式对重要数据进行加密或数字签名,以及实现对数据的可信存储。接下来,我们会从体系架构、密码管理、启动度量、动态度量和控制功能等5个方面对这两种可信计算技术进行比较。
01体系架构对比
TPM采用外挂式结构,未从计算机体系结构上做变更,把TPM作为外部设备挂接在外总线上。中国的可信计算创新地采用计算和防护并存的双体系架构,防护部件由TCM、TPCM和可信软件基TSB(Trusted Software Base)构成,防护部件拥有独立于主机的软硬件资源,能够主动访问主机所有资源,为可信计算平台提供防护功能,实现运算的同时进行安全防护,变被动模式为主动模式,使主动免疫防御成为可能。
02密码管理功能对比
国际上,TCG在TPM2.0标准中,公钥密码算法采用了RSA和ECC,杂凑算法支持SHA1、SHA2和SHA3系列,对称密码采用AES、Camellia和TDES,此外还增加了对中国国密算法的支持。由此导致密钥管理、密钥迁移和授权协议的设计复杂化,也直接威胁着密码的安全。
我国可信根的可信计算密码标准在密码算法上,全部采用国有自主设计的算法,定义了可信计算密码模块TCM;在密码机制上,采用对称和非对称密码相结合体制,提高了安全性和效率;在证书结构上,采用双证书体系(平台证书和用户证书),简化证书管理,提高了可用性和客观性。TPM2.0就采用了我国对称与公钥结合的密码体制,并申报成为了国际标准。
TCM中非对称密码算法采用椭圆曲线密码算法SM2,对称密码算法采用SM4,杂凑算法采用SM3用于完整性校验;利用密码机制可以保护系统平台和用户的敏感数据。密码对平台功能的支撑关系如下图所示:
03启动度量功能对比
国外TPM的启动度量属于一种被动的度量方式。系统启动时,必须先启动了BIOS,对硬件和系统检测完毕后,BIOS加载TPM芯片才能发挥度量作用,这给黑客入侵、攻击BIOS提供了机会。
在我国可信计算3.0中,TPCM优先于CPU启动,并主动对BIOS进行验证。验证通过后,再通过电源和总线控制机制允许CPU启动运行。先于CPU启动是为了保证对系统的控制,防止可信机制被系统旁路。由此改变了TPM作为被动设备的传统思路,将TPCM设计为主动控制节点,实现了TPCM对整个平台的主动控制。这样,即使CPU或操作系统存在后门,攻击者也难以利用这些漏洞篡改访问控制策略。
04动态度量功能对比
国外TPM对运行时系统、应用的可信度量是由外部实体通过读写TPM的接口寄存器控制实现的。在被动调用的过程中,TPM不断地接收外部实体发送的命令,在命令执行完成后,再将处理结果以命令的形式发送给外部实体,且整个过程周而复始。这种工作流程表明TPM是一种被动工作模式的协处理器,无法承担主动的动态度量的任务。
我国的可信根是独立于CPU的主设备,具有主动的动态度量功能,通过内嵌在计算体系操作系统中的TSB代理实时截获运行时的系统和应用行为,监控系统内所有关键进程、模块、执行代码、数据结构、重要跳转表等,使用可信根提供的隔离保障资源进行计算,在可信根的支撑下对进程的资源访问行为进行实时度量。
05控制功能对比
TPCM根据可信度量的结果,可以通过直接向计算机主板发送控制指令,或向嵌入操作系统的TSB代理/PCIE设备发送控制指令,实现对硬件设备和软件应用的控制功能,例如杀死主机进程、关机、进行数据处理和设备控制等。而TPM仅能储存当前硬件设备和软件应用的度量信息,无法像TPCM一样实现根据度量结果的主动控制;此外,由于平台借助操作系统实现对硬件系统的控制,会导致平台控制系统的安全隐患。
我国可信模块发展的建议
2014年4月8日,微软公司正式停止对Windows XP的服务支持,强推可信的Windows 8,严重挑战我国的网络安全。如果国内运行的2亿台终端升级为Windows 8,不仅耗费巨资还失去了安全控制权和二次开发权。采用我国的可信计算安全增强,可避免微软停止服务所引起的安全风险,有力支撑了按习总书记批示精神政府不采购Windows 8的决定落实。
2014年10月,微软又推出了Windows 10,宣布停止非可信的Windows 7等所有非可信版本。Windows 10不仅是终端可信,而且是移动终端、服务器、存储系统等全面执行可信版本,强制与硬件TPM芯片配置,并在网上信息加密一体化支持管理,可谓“可信全面控制,一网打尽”。推广Windows 10将直接威胁网络空间国家主权。
2021年6月,微软再一次故技重施,推出强制TPM2.0硬件支持的Windows11,Windows11不仅与Windows10一样是全面执行可信版本,而且强制要求TPM2.0模块激活,否则将无法安装或升级Windows11。通过微软Windows11强制绑定TPM2.0事件,让我们更加清楚地看到,从Win8到Win11,微软绑定TPM硬件的思路一直未变,且其推动的力度和强制性要求越来越高,这表明了四个问题:
一是基于可信计算硬件构建新一代安全体系架构已经成为必然之路,只有基于可信根硬件才能够构建应对当前威胁的防御体系,改变“在沙滩上建城堡”安全基础不牢的顽疾;
二是微软将可信计算技术作为对其生态体系的重要控制手段,只有经过微软认证的厂商或软件才会进入到其“信任列表”,进一步强化了厂商或开发者对微软的依赖性;
三是国际TCG可信计算技术经过二十多年的发展,其生态却未见繁荣,应用也非常有限,主要依靠基础软硬件厂商的推动,究其原因在于TPM技术的先天缺陷,无法真正本质上提升系统的安全防护能力;
四是微软也逐渐意识到企业、个人越来越重视信息设备自身的安全问题,关注数据安全和系统安全,正如微软企业和操作系统安全总监大卫·韦斯顿(David Weston)在 Windows 安全博客上所说:“TPM的目的是保护加密密钥、用户凭据等敏感数据,使得恶意软件和攻击者无法访问或篡改这些数据。
2017年颁布的《网络安全法》中第十六条提出:“国务院和省、自治区、直辖市人民政府应当统筹规划,加大投入,扶持重点网络安全技术产业和项目,支持网络安全技术的研究开发和应用,推广安全可信的网络产品和服务”,2019年6月发布的国家网络安全等级保护制度2.0标准明确要求全面使用安全可信的产品和服务来保障关键基础设施的安全。
显而易见,从国家战略层面,我国自主创新的可信计算技术已成为保卫国家网络空间安全的基础核心技术之一,具有非常广阔的市场前景。经过多年刻苦攻关和技术积累,我国在可信计算方面已经占据了先发优势,基于可信计算3.0打造的整体安全解决方案是完全符合信息技术发展潮流的,是非常具有前瞻性的和正确的举措,应进一步加快促进产业化落地:
通过自主的可信计算技术增强本土化系统免疫性,防范漏洞影响系统安全性,使国产化替代真正落地;
同时,做好应用程序与操作系统的适配工作,确保自主系统能够替代国外产品;
另外,还要有自主知识产权,要对最终的系统拥有自主知识产权,保护好自主创新的知识产权及其安全,坚持核心技术创新专利化、专利标准化、标准推进市场化。
随着新形势下国内外产业界对可信计算的空前重视,本领域的竞争必将日趋激烈,为转优势为胜势,我们应该加快可信计算产品化,迅速抢占市场,特别在一批国家级示范性重点项目中进行应用落地,为国家网络空间安全保障提供有力支撑。
声明:本文来自安全牛,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。