6.1.1 模型综述

6.1.1 模型综述

Ubaidullah Alias Kashif等于2016年提出了一种新型的适用于云计算的基于哈希的分布式信任管理模型。该模型作为一个完全分布式的信任管理模型为用户提供了安全可靠的、基于虚拟机的云服务。在本模型中CSP与CSU是完全分布式的,任何CSU与CSP都包含一个信任平台模块(Trust Platform Module,TPM)。每一个TPM都包含了相应虚拟机组件(BIOS、Boot Loader以及OS)的哈希值。在启动服务时,TPM将验证软件与硬件组件相应的哈希值是否一致,包括BIOS、Boot Loader以及操作系统内核等。在本模型中,CSC端的TPM是与CSP端进行链接的。该模型的实施步骤有三个关键点:消费者端、服务提供者端以及分布式信任协议。

1.消费者端

如图6-1所示,这里消费者采用了Ubuntu作为操作系统提供信任计算的API。PKCS#11是基于公钥的加密的11号标准协议,这是一种平台独立的为用户提供加密服务的软件层加密协议。基于软件的TSS(Trusted Software Stack,TSS)仿真器是一个安装在消费者端上的基于Java的一个信任软件栈,用来与仿真TPM进行通信。信任设备驱动库(TPM Device Driver Library,TDDL)用来保证与低层次的TPM进行通信。在TPM处,可以通过Linux内核来仿真实现TPM,也可以通过实体芯片来实现TPM功能。

图6-1 消费者端的结构

2.服务提供者端

如图6-2所示,在该架构中,最重要的是在启动提供服务的虚拟机时对核心根的信任管理(Core Root of Trust for Measurement,CRTM)的初始化。虚拟机内嵌了信任计算需要的所有组件,包括CRTM、TCG BIOS、Trusted GRUB和操作系统OS。其中CRTM是一段可执行代码,供CPU调用。实际上CRTM也是BIOS的一部分,在启动阶段衡量计算各组件的合法性。在CPU调用CRTM后,CRTM计算BIOS的SHA-1值,若合法则输入操作系统中以供应用正确调用。

图6-2 服务提供者端的结构

3.分布式信任协议

在本协议中,TPM是一块用来生成随机数、会话密钥的加密用芯片。TPM签名密钥(EK)是一串2 048比特的RSA密钥,由TPM芯片生成。EK用来保证在整个TPM计算过程中的完整性。为了保证隐私性,这里生成一个认证密钥(AIK),该密钥如同EK一样是一串2 048比特的RSA密钥,用来加密所有从TPM芯片发送出去的数据。

模型中实体交互步骤如下。

第一步:消费者发送当前信息N以及其认证密钥AIK,并且整体信息由提供者公钥加密。

第二步:提供者根据其私钥解密信息,获取消费者发送的信息N。

第三步:提供者计算本地虚拟机相应的关键组件的Hash值,包括BIOS、Boot Loader、Kernel、操作系统等。

通过以上三步通信,之后每次消费者使用提供者所提供的服务时都将验证该服务提供者的合法性,保证了云计算的安全。