Post

Trusted Computing 可信计算


Trusted Computing


basic

“等保2.0”。

  • 等保2.0时代保护策略要变被动防御为主动防御,变层面防御为立体防御。
  • 中国工程院院士沈昌祥在以《重启可信革命——主动免疫可信计算3.0》为主题的演讲中指出:“当前我国的信息安全的防护工作是比较传统的,也就是说称为老三样:防火墙、杀病毒、入侵监测,这样是解决不了安全问题的。
  • 引入可信计算:
    • 可信可用,方能安全交互;
    • 主动免疫方能有效保护;
    • 自主创新方能安全可控

可信在不同的机构下的定义是不同的。

  • 可信计算工作组TCG(Trusted Computing Group)对可信的定义可以描述为:对于一个特定的目标,实体的行为总是与预期的相符,则针对这个目标,该实体就是可信的。
  • 电气电子工程师学会IEEE(Institute of Electrical and Electronics Engineers)对可信的定义则是:一个计算机系统称为可信的是指其提供服务的可信赖性是能够进行论证的。
  • 国际标准化组织ISO/国际电工委员会IEC则如下定义可信:参与计算过程的各个部件、处理过程及操作都是可预测的,并可以阻止病毒和一定程度的物理影响。

一个实体可信就是指其行为、能力需要符合预期并可验证其符合预期。


发展

历史

  • J. P. Anderson于1972年针对计算机的安全功能的设计,提出了一个较为具体的想法,建立可信系统 (Trusted System) ,这算是计算机诞生以后,人们首次具体思考、规划与设计计算机的安全功能的开始。
  • 1987年,第一个具有破坏性质电脑病毒C-BRAIN诞生了,业界都公认这是真正具备完整特征的电脑病毒始祖。而这个时期的计算机安全和我们现在理解得定义有着很大的出入。早期科学家们对可信赖计算机研究的内容主要集中在操作系统的安全机制、支撑它的硬设备和系统评估,这一时期的可信赖计算机被命名为:Dependable Computing,其与容错计算 Fault 研究领域有密切的关系。人们将关注点放在了组件随机故障、生产过程缺陷、定时或数值的不一致、随机外界干扰、环境压力等物理故障、设计错误、交互错误等人为故障造成的同系统失效状况,并设计出许多集成了故障检测技术、冗余备份系统的高可用性容错计算机。这一阶段研发出的许多容错技术已被用于目前普通计算机的设计与生产。

TCPA

  • “可信计算”的概念开始在世界范围内被广泛接受已经是1999年了。
  • 由Intel、IBM、HP、Compaq (已被HP并购)及Microsoft发起组织了一个 可信赖计算平台联盟(Trusted Computing Platform Alliance, TCPA),该联盟致力于促成新一代具有安全且可信赖的硬件运算平台。
    • 随着可信计算的诞生到初步得到广泛认可,国际上成立了首个可信计算相关的联盟:
    • TCPA 就是TCG的前身,该组织于2001年提出了可信平台模块TPM1.1技术标准。
  • TPM1.1推出后,一些以IT技术为主导的国际厂商相继推出了有关可信计算的产品,得到产品界及用户的普通认可,而TCPA的成员也迅速增加,到了2003年已经达到了200家之多,几乎所有国际主流的IT厂商都已加入该联盟。

TCG与可信计算

  • 随后TCPA更名为TCG,并逐步完善了TPM1.2技术规范,把可信计算的触角延伸到了所有IT相关领域。
  • 2003年4月8日TCPA扩展其宗旨与目标,重新组成现在的可信计算组织(Trusted Computing Group, TCG)。
  • TCG原來TCPA强调建构安全硬件平台的初始宗旨上更进一步,将焦点投注到软件安全性的问题,目的是希望从操作环境的硬件组件软件接口两方面制定可信计算相关标准与规范。

  • 可信平台模块(Trusted Platform Module .TPM) 作为可信计算得核心,是指在计算机系统中嵌入一个可抵制篡改的独立计算引擎,使非法用户无法对其内部数据进行更改,从而确保了身份认证和数据加密的安全性。
  • 它并不像安全软件那样只能被动地抵抗病毒和黑客,而是在检测到系统数据被非法篡改后即自动恢复,以保证平台的完整性。
  • 这种办法从本质上提高了电脑自身的免疫力,弥补了电脑的先天不足,做到主动预防多种病毒的攻击。
  • 2003年10月TCG发布了“可信计算平台规范”1.2版,

Screen Shot 2022-03-10 at 12.54.51

匹配TPM 1.2版标准的可信平台模块的组件

  • 随着ICT技术的快速发展,TCG于2008年在TCG TPM WG成功开发TPM 2.0第一版标准库,之后于2011年7月和2012年2月先后两次提供草案和修订后的新版本草案给SC27专家征求意见和建议,并于2012年10月公开征求意见,2013年3月正式公开发布TPM2.0标准库,从此TPM进入2.0时代。

信任是安全的基础

  • 可信赖计算的本意是确保计算过程不再受入侵威胁、计算结果安全可信:
    • 网络通过每一个主体的身份认证来确定一个主体及其所表明的身份是否一致;
    • 主体需要对其所关注的事件或信息内容的“真”、“假”程度进行判断,以确定这些信息是否可信,而做出这个判断的就是关注该信息内容的主体;
    • 从而确认每个主体之间行为的可信,主体之间是否是友善的行为。
    • “可信平台模块”为我们提供了网络安全最基本的需求,实现了计算机安全概念的突破。
  • 持续性度量
    • Trusted Computing首先解决的是可信的度量问题。前提安全评估
    • 任何将要获得控制权的主体,都需要先接受可信度的评估。
    • 例如:从客户端加电直到运行环境的建立,度量过程都一直在进行,包括系统中的每一个硬件、操作系统以及应用软件都是可信的,遭受到病毒、木马威胁的计算机自动修复,达到接入等级。
  • 数据安全
    • 用户的密钥及身份证书在可信计算平台中是的唯一的身份标识的数据
    • TPM可以将这样的敏感数据存储在芯片内部的屏蔽区域,并将将用户的个人数据与芯片内封装的密钥绑定在一起。
    • 即便是数据被窃取,但由于数据已经与TPM平台绑定,而平台的信息已经发生了变化,因此其它用户也无法获取数据的内容。
    • TPM平台真正做到就是实现了身份认证、授权访问控制和安全责任审计的“每客户”模式。
  • 打破区域限制
    • 可信计算所构建的网络信任系统是“无区域”网络。
    • “深度防御(Defense in depth)”的概念是指用多个安全层次保护重要资产。
    • 例如重要的文件存放的带锁的房间里的带锁的文件柜中,而这个房间又在整个带锁的大楼里,大楼里还有警卫……。
    • 深度防御运用于网络已经很多年了,为保护重要的数据我们不得不将网络不平等的划分出信任等级,把相同等级的主体划分到一个区域里面,把数据一层一层的包裹的严严实实。
    • 但是,利用TPM管理的资源(包括密钥、加密存储的敏感数据),所有的访问必须通过TPM的授权协议来完成的,只有通过合法授权才能访问资源,最大限度的保护了敏感数据。
    • 如果每个系统都是可信的,每个行为都是授权的,而每个访问都是可控的,这些区域还有存在的价值吗?

关键技术

目前可信计算主要的研究思路是:

Screen Shot 2022-03-10 at 12.56.27


Trusted Platform Module (TPMs) 安全芯片

  • 国际上,TCG的解决方案是引入 TPM硬件安全芯片 ,以此为起点构建可信计算整个体系结构。
  • 美国微软公司则利用其 微内核机制 建立可信的执行环境,为其世界闻名的Windows系统提供平台安全和隐私保护的支持。这就是微软的NGSCB可信计算研究计划。
  • 中国创新性的提出TCM技术方案,使用自主研发的安全芯片,构建可信计算密码支撑平台,做到了自主密码为基础,控制芯片为支柱,双融主板为平台,可信软件为核心,可信连接为纽带,策略管控成体系,安全可信保应用。

  • dedicated processors that use cryptographic keys to perform a variety of tasks.
    • Example, they can be used to authenticate devices.
  • TPMs can also be used to facilitate FDE.

  • Usually a TPM will be on the motherboard of the computer.
    • a hardware chip on the computer’s motherboard
    • stores cryptographic keys used for encryption.

    • Many laptop computers include a TPM, but if the system doesn’t include a TPM, it is not feasible to add one.
    • Once enabled, the TPM provides full disk encryption capabilities. It keeps hard drives locked, or sealed, until the system completes a system verification and authentication process.

TCG所推出的规范大部分针对于硬件设施,作为全球最主要的操作系统供应商,微软力求在操作系统层面上有明显的突破。新版的Vista就是要挽回Windows是“不太可靠的操作系统”的坏名声,将可信计算技术融入到Windows操作系统当中,其TMP架构包括:

  • 数据安全模块:协助保护顾客资料安全的功能,
    • 包括:密钥管理、文件印章与签名、资料保护与加(解)密技术应用、用户认证与服务验证‘
  • 系统管理模块:协助系统管理员管理控制TPM模块功能,
    • 例如:通过WMI实现远程管理、组策略(Group Policy)、容易部署和撤销技术 (Easy Deployment and Decommissioning);
  • 终端用户系统安全可信:在Vista操作系统中,以TPM模块技术为基础的新功能,
    • 例如:安全的系统启动开机程序机制,以TPM模块技术为基础的安全密钥储存和提供机制等。

verification process

A TPM supports secure boot and attestation processes.

  • secure boot
    • When the TPM is configured, it captures signatures of key files used to boot the computer and stores a report of the signatures securely within the TPM.
    • When the system boots, the secure boot process checks the files against the stored signatures to ensure they haven’t changed.
    • If it detects that the files have been modified, such as from malware, it blocks the boot process to protect the data on the drive.
  • Remote attestation:
    • a TPM’s capability to check a computer system’s integrity against a remote trusted third-party service.
    • A remote attestation process
    • works like the secure boot process.
    • However, instead of checking the boot files against the report stored in the TPM, it uses a separate system.
    • when the TPM is configured, it captures the signatures of key files, but sends this report to a remote system.
    • When the system boots, it checks the files and sends a current report to the remote system.
    • The remote system verifies the files are the same and attests, or confirms, that the system is safe.

The TPM ships with a unique Rivest, Shamir, Adleman (RSA) private key burned into it, asymmetric encryption.

  • This private key is matched with a public key, provides a hardware root of trust / a known secure starting point.
  • The private key remains private and is matched with a public key.
  • Additionally, the TPM can generate, store, and protect other keys used for encrypting and decrypting disks.

If the system includes a TPM, you use app within the OS to enable it.

  • Example
    • BitLocker
      • many Microsoft systems include BitLocker, which you can enable for systems that include the TPM.
      • BitLocker uses the TPM to detect tampering of any critical operating system files or processes as part of a platform verification process.
      • Additionally, users provide authentication: smart card, a password, or a personal identification number (PIN).
      • The drive remains locked until the platform verification and user authentication processes are complete.

If a thief steals the system, the drive remains locked and protected.

  • no authentication credentials, can’t access the drive using a normal boot process.
  • If the attacker tries to modify the operating system to bypass security controls, the TPM detects the tampering and keeps the drive locked.
  • If a thief moves the drive to another system, the drive remains locked because the TPM isn’t available.

终端平台可信技术

  • 需要解决的核心问题是基于安全芯片的从系统引导、操作系统、应用程序到后续动态运行的整个链条的完整性度量。
  • 完整性度量主要分为静态度量和动态度量两个方面。
    • 在静态度量方面,主要有IBM研究院提出的IMA、PRIMA架构,
    • 而动态度量最著名的是卡内基梅隆大学提出的BIND系统。

PRIMA架构

  • IBM最早根据TCG提出以TPM为“根”,逐级度量启动过程中硬件、引导、操作系统及应用的思想而实现的IMA架构可以对系统启动的所有程序进行度量,
  • 其最大的缺点是系统效率太低。为解决效率问题
  • IBM又提出了PRIMA架构,其特点是将度量与信息流访问控制模型相结合,从而度量对象大幅度精简,达到了效率提高的目的。

二者的主要区别如下图所示:

Screen Shot 2022-03-10 at 12.58.47

BIND系统

为解决静态度量无法保证程序在运行过程中的可信问题,BIND系统被卡内基梅隆大学研制出来。其主要工作原理为:

  • 扩展编程语言的度量语义

  • 编程时添加这些度量标记

  • 启动编译好的程序

  • BIND系统被激活

  • 动态的执行对程序的完整性度量

  • 根据度量结果决定程序的停止和运行

下图为BIND系统提供的编程接口:

Screen Shot 2022-03-10 at 13.00.10

从上图可以看出,BING系统提供的编程接口并不复杂。BIND系统实现了一定程度的动态度量,但它需要编程人员在编程时使用上述接口手动添加标记,这对编程人员提出了“特殊”的要求,比较难以落地。

vTPM

近年来,随着虚拟技术的发展和终端平台上虚拟应用的越来越普及,虚拟平台度量技术也得到不断的研究而逐渐成为热点。在虚拟度量技术方面有代表性的是LKIM系统、HIMA、HyperSentry和IBM提出的vTPM,后者应用相对比较广泛。

vTPM即虚拟的TPM,在物理的TPM的基础上,使用虚拟技术为每个虚拟机提供一个独立的TPM,从而解决了多个虚拟机共享TPM的资源冲突问题。其主要的架构如下图所示:

Screen Shot 2022-03-10 at 18.35.48

从上图可以看出,物理TPM的驱动存在于物理层中,同时利用vTPM管理器创建多个虚拟的TPM实例,这些实例与域U进行交互,使得虚拟机的可信成为可能。不过这种方案也有其缺点,最主要的问题就是vTPM和TPM之间缺乏有效的绑定。


平台间信任扩展技术

构建了终端平台的可信之后,需要将终端平台的可信扩展到远程平台,这里主要使用的方法便是远程证明。远程证明主要由平台身份证明和平台状态证明组成。

平台身份证明技术

远程平台身份证明技术主要有Privacy CA和DAA。

  • Privacy CA
    • 基于TPM1.1规范的
    • 使用平台证书直接证明自己可信的身份。
    • 这个方案最大的问题是无法隐匿平台。
  • 基于CL签名的直接匿名证明协议DAA(Direct Anonymous Attestation)解决了平台隐匿问题,
    • 但其解决方案中使用的签名长度太长,导致计算量大,效率并不高。
    • 所以就有了各种改良的DAA。
    • 由Brickel提出的基于椭圆曲线及双线性映射对的一种优化的DAA方案有效降低了原来DAA签名中的长度过长和计算量大问题,提高和通信和计算性能。

平台状态证明技术

平台状态证明技术的研究热点主要是基于属性的平台完整性状态证明协议,即PBA(Property-based Attestation)。

  • 不过除此之外还有TCG提出的二进制直接远程证明方法、基于Java语言的语义证明、针对嵌入式设备提出的基于软件证明和我国研究人员提出的基于系统行为的证明协议。

  • TCG提出的二进制直接远程证明方法是将系统配置散列值直接传递给验证方验证,其缺点是会暴露平台配置,并且不易扩展。为此Liqun Chen等提出了一种具体的基于属性的证明协议,其原理是将系统配置传递给可信第三方TTP(Trusted Third Party),由TTP得出其具有的属性,并发放相应的属性证书,从而在验证方需要验证平台可信性时,将属性证书发送给验证方以证明平台的可信性。


可信网络接入技术

随着人类进入21世纪,网络已经无处不在,据不完全统计,目前世界上联网的设备有数十亿之多,而联网设备的类型也由原来的PC机扩展到各种各样的嵌入式设备、移动终端和智能终端等等。在可信计算领域,可信网络的接入技术也有了很大的发展。

可信网络接入技术在国际上,有TCG组织提出的TNC规范,而国内与之对应的则是TCA方案。

TNC

  • TNC是由TCG发布的可信网络连接规范
  • 由2004 年5 月成立的可信网络连接分组 TNC-SG(TNC Sub Group)提出,
  • 目的就是将终端平台的可信状态延续到网络中,使信任链从终端平台扩展到网络。
  • 下表为TNC各个版本的发布时间及主要内容汇总:

Screen Shot 2022-03-10 at 18.42.18

TNC规范架构中主要包括3个逻辑实体、3层划分和相关接口组件组成.该架构的主要思路是将完整性评估层与完整性度量层添加到传统的网络接入层次之上,从而实现对接入的终端平台的身份和完整性验证。TNC基础架构图如下:

TNC基础架构

其中,访问请求者AR(Access Requestor),策略执行点PEP(Policy Enforcement Point)和策略决策点PDP(Policy Decision Point)组成了3个逻辑实现。访问请求者是请求访问受保护网络的逻辑实体。策略执行点是执行PDP的访问授权决策的网络实体。策略决策点是根据特定的网络访问策略检查访问请求者的访问认证,决定是否授权访问的网络实体。

整个网络接入过程是:

  • AR发出访问请求,收集平台完整性可信信息,发送给PDP,申请建立网络连接;

  • PDP根据本地安全策略对AR的访问请求进行决策判定,判定依据包括AR的身份与AR的平台完整性状态,判定结果为允许或禁止或隔离;

  • PEP控制对被保护网络的访问,执行PDP的访问控制决策。

TCA

TNC方法首先进行的过程是用户认证,该过程除了对用户身份进行验证,还要为后续终端平台的凭证认证过程及终端平台完整性验证过程提供安全的通信通道。VPN和IEEE 802.1x是TNC采用来进行认证和建立通道,进而传输终端平台认证消息。AR并不直接验证访问控制器的身份和终端平台的完整性,这降低了TNC的安全性。

为了实现可信计算网络平台安全、可信赖的运行,针对TNC的不足,建立自主的可信网络连接体系,2007年4月,我国启动了自主可信网络连接标准的制定工作,由此诞生了TCA。TCA是我国以自主密码为基础、控制芯片为支柱、双融主板为平台、可信软件为核心、可信连接为纽带建立的可信计算体系不可或缺的一部分。对应的国家标准GB/T 29828―2013《信息安全技术 可信计算规范 可信连接架构》也于2013年11月12日正式发布。

TCA的工作原理

如上图所示,TCA的工作步骤简述如下:

应用及前景

目前,国际上主流的台式机、笔记本已经标配上了TPM安全芯片,国内支持TCM安全芯片的安全主机已经全面量产,多数的国内外移动终端也都有了安全芯片的支持。与可信计算相关的应用不断的被挖掘出来,前景一片大好。


信息安全

可信计算与信息安全密不可分。其中,TPM模块产生的密钥难于攻击,在用户身份验证方面起着至关重要的作用。可信计算的可信链条机制,从信任根开始,直到应用程序启动运行,可以防止病毒运行和恶意代码执行。可信计算运算和防御并行的双体系架构,在计算的同时进行安全防护,使计算结果总是与预期一致,整个过程可测可控,不被干扰,实现了主动免疫。网络接入方面,TCG提出的TNC架构及我国提出的TCA架构都保证了接入的安全性。这样从单个终端平台的可信、到远程平台协同的可信、再到整网可信,完成了整个系统的闭环。


云计算

可信计算技术能够用来支持分布式环境下的云计算,解决云计算的安全问题。

  • 在需要多种身份实体认证机制的需求下,可信计算平台可以起到非常好的辅助作用
  • 可信计算能够提供比用户名+口令更强的认证,可信计算包含的专用主密钥,对存储在云计算系统中的其他信息提供保护。
  • TPM存储硬件证书使得基于可信计算技术进行客户设备以及其他设备的认证成为可能,这对确保云计算的安全非常关键。

云计算的特点之一就是会有大量有自己目标和行为的用户访问云服务

  • 用户需要注册进入一个或几个角色,只所以使用角色是为了降低访问控制模型的复杂性。这些不同角色的用户应该来自可信计算平台,因为可信计算平台上的安全机制保证了用户自身的隐私和安全。
  • 用户从基于 TPM 或 TCM 的可信计算平台来登录云计算系统,从而获取权威证书,当希望同远程其它实体进行通信时,其信息传送通过可信机制得到保护。

  • 云计算系统中的数据是其核心价值提供的基础,这些重要数据可以使用TPM模块的密钥进行加密存储,这样针对这些数据的攻击就变得异常困难。除此之外,对外传输中的数据同样使用加密技术来确保传输过程的数据安全。可信计算提供的认证和完整性检验确保了数据不被修改。

Digital Right Management, DRM 数字版权管理

  • DRM已经成为数字内容行业的基础设施,是实施数字版权保护的技术解决方案。
  • DRM的主要作用是保证数字内容只能由购买者在指定的授权生命周期内合法使用,未购买或超出周期使用的行为都会被禁止。
  • 现在的 DRM 客户端基本上都是在开放计算平台上部署,如:通用电脑和手机等移动终端,数字内容的使用过程需要由客户端的DRM应用程序参与,负责解密使用和相关权利包的解析验证。
  • 由于 DRM 客户端安装在通用电脑和个人手机上,所以其运行环境是无法保证安全的,所以需使用额外的技术手段来确保DRM的可信。

可信计算技术的发展为上述问题的解决提供了很好的技术支撑。

  • 在授权许可证分发和数字内容的使用这两个重点环节中已有学者使用了可信计算技术来进行保护,
  • 同时可信计算参与到DRM的用户身份认证及密钥协商协议,完成DRM客户端的身份认证及完整性验证,有效保护了数字版权内容的分发。

区块链

  • 可信计算保护数据隐私性的属性,使其变为区块链技术生态中的重要一环。可信计算相关技术目前多与分布式计算类项目、数据类项目以及 layer2 链下解决方案相结合。
  • 目前,此类项目的关注重点多在于 PC 端 CPU,应用广泛。
This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.