bitlocker和可信计算之间的关系

文章最后更新时间为:2018年08月14日 10:13:28

一、关于可信计算

1、可信计算的概念

由于纯软件安全机制的不足,在20世纪70年代末,可信计算的思想被提出,可信计算的思想是通过硬件、固件和软件的合作来构筑系统平台的安全性和可信性。

可信计算由TCPA提出,但并没有一个明确的定义,主要思路是在计算机硬件平台上引入安全芯片架构,通过提供的安全特性来提高终端系统的安全性。

可信计算要研究的根本问题是信任问题。TCG (Trusted Computing Group 可信计算组织)对“可信”做出的定义是: “如果某个实体对给定的目标,在执行时其行为总是和预测的一致,那么该实体被认为是可信的”。信任问题的本质是实体行为的可预测性和可控制性,即实体的完整性。因此,如何度量和维护实体的完整性自然是可信计算的关键使命。

可从以下几个方面来理解可信计算
( 1) 为保证对使用者的信任,需要对用户的身份进行认证;
( 2) 为保证使用者对平台运行环境的信任,需要保证平台软硬件配置的正确性;
( 3) 为保证应用程序运行的可信,需要保证应用程序的完整性和合法性;
( 4) 为保证网络环境下平台之间的相互信任,平台之间必须可以相互验证

可信计算包括5个关键技术概念,他们是完整可信系统所必须的,这个系统将遵从TCG规范。

  1. 签注密钥
    签注密钥是一个2048位的RSA公共和私有密钥对,它在芯片出厂时随机生成并且不能改变。这个私有密钥永远在芯片里,而公共密钥用来认证及加密发送到该芯片的敏感数据
  2. 安全输入输出
    安全输入输出是指电脑用户和他们认为与之交互的软件间受保护的路径。当前,电脑系统上恶意软件有许多方式来拦截用户和软件进程间传送的数据。例如键盘监听和截屏。
  3. 储存器屏蔽
    储存器屏蔽拓展了一般的储存保护技术,提供了完全独立的储存区域。例如,包含密钥的位置。即使操作系统自身也没有被屏蔽储存的完全访问权限,所以入侵者即便控制了操作系统信息也是安全的。
  4. 密封储存
    密封存储通过把私有信息和使用的软硬件平台配置信息捆绑在一起来保护私有信息。意味着该数据只能在相同的软硬件组合环境下读取。例如,某个用户在他们的电脑上保存一首歌曲,而他们的电脑没有播放这首歌的许可证,他们就不能播放这首歌。
  5. 远程认证
    远程认证准许用户电脑上的改变被授权方感知。例如,软件公司可以避免用户干扰他们的软件以规避技术保护措施。它通过让硬件生成当前软件的证明书。随后电脑将这个证明书传送给远程被授权方来显示该软件公司的软件尚未被干扰(尝试破解)。

2、可信计算平台

可信平台的主体是可信计算机,是一个能够提供可信计算服务的计算机软硬件实体。

信任根指的是系统关键的基本元素的集合,它拥有描述平台信任相关特性的最小功能集,它是默认的信任基础。信任根的核心作用是检查平台配置的可信性。

可信计算的主要思路是为计算机建立一个信任根,然后建立一条信任链,信任由信任根开始传到硬件平台,然后到操作系统,再到应用程序,达到一级测量认证一级,从而一级信任一级,最后将信任扩大到整个计算机系统,从而保证计算
机系统的安全和可信。

从构造上看,可信平台就是装备了信任根的平台。

3、可信平台模块TPM

在可信计算技术体系中,最核心的就是可信平台模块 TPM 芯片。TPM 是一种 SOC 芯片,它是可信计算平台的信任根,其中信任根的可信性由物理安全和
管理安全确保。

可信平台模块(TPM)CPU、存储器、I/O、密码运算处理器、嵌入式操作系统等部件组成,完成可信度量的存储、密钥产生、加密签名、数据安全存储等功能。TPM 芯片是可信计算终端的信任根,可信计算平台的核心,TPM 的性能决定了可信平台的性能。

二、bitlocker和可信计算的关系

BitLocker是内置于Windows Vista及其之后系统的全磁盘加密功能,通过为整个卷提供加密来保护数据。

BitLocker主要针对的是离线攻击问题。主要是关心数据的安全性和系统的可信引导问题。概括为如下两点:
1、整卷加密:对操作系统所在的硬盘分区进行整个分区的加密。
2、完整性检查:在引导过程中验证引导组件和引导配置属性的完整性。

下面就这两方面来说明其与可信计算的联系:

1、bitlocker整卷加密

存放在计算机的数据如何保证其安全性时一个及其重要的问题,当计算机遗失时,我们该怎么保证数据的安全性是可信计算的基本需求。

bitlocker以磁盘扇区为单位,对硬盘的windows分区进行加密。除了引导扇区、元数据区和坏扇区之外,该分区中的所有其他扇区都被加密。
(引导扇区存放的是计算机所需的基本程序代码。元数据娶是bitlocker预留的紧随引导扇区之后的若干扇区,主要用于存放解密用的密钥和对卷进行描述的统计和引用等信息。坏扇区是之被标记为不可用的扇区。)

简单的说,bitlocker用数据加密密钥FVEK对磁盘卷进行加密,用主密钥VMK对FVEK密钥进行加密,用TPM的存储根密钥对VKM进行加密。当我们操作TPM对VMK进行加解密时,我们需要提供授权信息。

上述加解密过程需要用户提供授权信息,在这个过程中,使用了数据的保密和主体的可信,对数据的操作都是可信的,计算机可被看成可信计算平台。

2、bitlocker引导检查

bitlocker对磁盘分区的加密措施没有惠及系统分区,该分区中的信息原样呈现给用户,存在被篡改的威胁。

为了应对系统分区可能遭受篡改或者植入恶意程序的威胁,bitlocker在引导阶段借助TPM硬件提供的功能对引导组件进行完整性检查,仅当完整性检查顺利通过时,才相继解密VMK密钥和FVEK密钥并继续引导过程,一旦发现完整性受到破坏,立即终止引导过程并锁住计算机。

上述过程给予KPM的实施方法是,从上电开始,按照一定次序检查对象的哈希值,并用KPM的扩展命令将该值存入TPM的PCR寄存器中,然后检查相应PCR寄存器的值是否和预存的值相同。

概括的说,BitLocker利用KPM提供的封装功能和对完整性度量的支持,在计算机引导过程中,完成对存储在系统分区的引导组件的完整性检查,同时获得主密钥KMK。

三、总结:

BitLocker机制是一个很好的TPM案例,该机制主要实现硬盘的整卷加密功能,目的是保护硬盘中的数据。同时,该机制也实现引导过程中的完整性检查,这也是给整卷加密功能提供保障。该机制利用TPM的封装功能巧妙的处理加密和完整性检查的双重需求。

1 + 5 =
快来做第一个评论的人吧~