虚拟机的可信计算技术研究

合集下载

可信计算的研究与发展

可信计算的研究与发展

可信计算的研究与发展一、概述随着信息技术的快速发展,计算机和网络系统已经成为现代社会不可或缺的基础设施。

这些技术的广泛应用也带来了严重的信息安全问题,如数据泄露、恶意软件攻击、网络钓鱼等。

为了应对这些挑战,可信计算(Trusted Computing)技术应运而生。

可信计算是一种通过硬件和软件结合,确保计算机系统自身安全可信,从而保护存储在其中的信息不被非法访问和篡改的技术。

可信计算技术起源于上世纪末,随着计算机体系结构的演进和信息安全需求的提升,其研究和发展逐渐受到全球范围内的关注。

作为一种综合性的安全防护机制,可信计算旨在构建一个安全可信的计算环境,使得计算机系统在执行关键任务时能够抵御各种安全威胁。

近年来,可信计算技术取得了显著的进展。

一方面,可信计算平台(Trusted Platform Module,TPM)的广泛应用为计算机系统提供了硬件级别的安全支持另一方面,可信计算软件技术(如可信操作系统、可信数据库等)的不断发展,为上层应用提供了更加安全可靠的运行环境。

可信计算技术还涉及到了密码学、访问控制、身份认证等多个领域,形成了一套完整的安全防护体系。

尽管可信计算技术取得了显著的研究成果,但其在实际应用中仍面临着诸多挑战。

例如,如何确保TPM的安全性和可靠性、如何平衡系统性能与安全性之间的矛盾、如何适应不断变化的安全威胁等。

未来可信计算技术的研究和发展仍需要不断探索和创新,以满足日益增长的信息安全需求。

本文将对可信计算技术的研究与发展进行综述,分析当前的研究热点和难点问题,并展望未来的发展趋势。

通过对可信计算技术的深入了解和研究,有望为信息安全领域的发展提供新的思路和方向。

1. 可信计算的概念定义可信计算(Trusted Computing)是一种计算模式,旨在增强计算机系统的安全性、可靠性和完整性。

其核心思想是在硬件、软件和系统之间建立一个可信任的基础,以确保数据和代码在执行过程中的保密性、完整性和可用性。

软件工程中的可信计算与安全验证技术研究

软件工程中的可信计算与安全验证技术研究

软件工程中的可信计算与安全验证技术研究软件工程中的可信计算与安全验证技术研究随着信息技术的快速发展,软件在人们的生活和工作中扮演着越来越重要的角色。

然而,由于软件的复杂性和开发过程中的各种不确定性,软件系统往往存在着安全漏洞和可信性问题。

为了提高软件系统的安全性和可信性,研究人员们积极探索可信计算与安全验证技术。

可信计算是指在不可信环境下执行计算任务时,通过硬件和软件的安全机制来确保计算的正确性和安全性。

可信计算技术主要包括可信平台模块(TPM)、可信虚拟机(Trusted VM)和安全多方计算(Secure Multiparty Computation,SMC)等。

可信平台模块是一种硬件设备,用于存储和管理系统的安全密钥,并提供计算机系统的基本安全功能。

可信虚拟机是一种安全的虚拟机环境,可以在不可信的物理环境中运行可信的软件。

安全多方计算是一种协议,可以在不披露私密输入的情况下,计算多方之间的共同结果。

安全验证技术是指通过形式化方法和验证工具来验证软件系统的安全性和正确性。

安全验证技术主要包括形式化规约、模型检测和定理证明等。

形式化规约是一种形式化描述语言,用于描述软件系统的功能和安全属性。

模型检测是一种自动化的验证方法,通过穷举搜索系统的所有可能状态来检测系统是否满足安全属性。

定理证明是一种基于数学逻辑的验证方法,通过构造严格的证明来证明系统的安全性和正确性。

可信计算与安全验证技术在软件工程中的应用非常广泛。

首先,可信计算技术可以提供一个安全可信的执行环境,保护软件系统的关键数据和计算过程。

例如,通过使用可信平台模块,可以确保系统的密钥和密码等敏感信息不被恶意软件和黑客攻击。

其次,安全验证技术可以帮助开发人员发现和修复软件系统中的安全漏洞和错误。

例如,通过使用形式化规约和模型检测技术,可以在软件系统设计阶段发现潜在的安全问题,并提供相应的修复方案。

最后,可信计算与安全验证技术还可以帮助软件系统满足法律和标准的安全要求。

面向云计算的可信计算研究

面向云计算的可信计算研究

面向云计算的可信计算研究随着信息技术的迅速发展和互联网的普及,云计算作为一种新型的计算模式,正在被越来越多的企业和机构所采用。

然而,云计算环境中的安全问题一直是业界关注的焦点,特别是与可信计算相关的研究更是备受瞩目。

本文将探讨面向云计算的可信计算研究。

一、可信计算的定义可信计算是指一种基于硬件的安全技术,旨在基于信任根的安全保证计算环境的完整性和安全性。

可信计算既能防范软件攻击,又能防范硬件攻击,是目前最为有效的安全保障之一。

二、云计算的特点与安全挑战云计算的特点包括动态性、虚拟化、分布式、高可用性等。

这些特点给云计算环境的安全性带来了诸多挑战,包括:1. 数据安全性:云计算服务提供商需要防止数据被非法使用、篡改或外泄,确保用户数据的保密性和完整性;2. 权限管理:云计算涉及多方面的用户和环境,因此需要建立有效的权限管理机制和认证体系,确保用户使用的资源受到安全保护;3. 软件安全性:云计算环境中的各种软件存在安全漏洞,这些漏洞可能被黑客利用,对云计算服务造成威胁;4. 物理安全性:云计算服务提供商需要保障数据中心的物理安全,以防止设备被非法入侵或物理攻击。

三、面向云计算的可信计算研究随着云计算的快速发展,可信计算的研究也日益重要。

面向云计算的可信计算研究主要涉及以下几个方面:1. 可信启动技术:可信启动技术是指对计算机的启动过程进行保护,确保在启动过程中不被恶意软件所攻击。

云计算环境中,虚拟机启动过程中往往会面临各种安全威胁,因此需要建立可信启动机制,确保虚拟机的启动过程是可信的。

2. 可信计算基础设施:可信计算基础设施是指建立在可信计算技术基础上的基础设施,包括认证、加密、密钥管理和授权等技术。

在云计算环境中,可信计算基础设施的建设对于保护云计算服务的安全至关重要。

3. 虚拟化安全:虚拟化技术是云计算的核心技术,但同时也存在一系列安全威胁,比如虚拟机漏洞、虚拟机逃逸等。

因此,需要建立虚拟化安全机制,确保虚拟机的安全性。

计算机虚拟化技术研究

计算机虚拟化技术研究

计算机虚拟化技术研究计算机虚拟化技术是一种能够使计算机系统和网络资源得到更好利用的技术。

虚拟化技术允许多个虚拟机共享单个硬件平台,从而提高了资源利用率和工作效率。

虚拟化技术近年来在企业和个人领域都有广泛的应用,而其中的虚拟机技术更是可谓是虚拟化技术的核心和基础。

一、什么是虚拟机技术虚拟机技术是一种将一台计算机虚拟化为数台虚拟计算机的技术,每一台虚拟计算机都可以运行不同的操作系统和应用程序。

虚拟机技术主要分为两种:基于全虚拟化技术和基于半虚拟化技术的虚拟化技术。

在全虚拟技术中,会完全模拟出一台计算机,它具备单独计算机的所有硬件、CPU、内存、磁盘和网络设备。

这样,每个虚拟机就可以运行独立的操作系统和应用程序,而无需考虑底层硬件支持问题。

在半虚拟化技术中,则是和宿主操作系统共享硬件资源,它需要在虚拟机中安装一个特殊的驱动程序和操作系统,以便让虚拟机和宿主操作系统之间共享硬件资源。

虚拟机技术的优点非常显著。

虚拟机可以通过功能隔离和故障隔离来提高系统的安全性和可靠性,同时还可以非常简单地管理和维护虚拟机,就像管理和维护物理服务器一样简单。

由于虚拟机技术可以做到非常简单和精确的负载平衡,因此它可以根据用户的需要自动为虚拟机分配硬件资源和软件资源,并且在需要时可以实现快速部署和快速卸载虚拟机,从而降低了系统管理的难度和成本。

二、虚拟机技术的应用虚拟机技术主要应用在以下几个领域:1. 服务器虚拟化:在服务器虚拟化领域,虚拟机可以构成一个虚拟化的服务器集群,从而实现故障容忍、高可用、负载均衡等功能。

通过虚拟机技术,还可以根据实际需求来快速部署、修改和删除应用程序,提高了应用程序的灵活性和可靠性。

2. 桌面虚拟化:桌面虚拟化可以让用户在单一的桌面中运行多个虚拟机,每一个虚拟机都是一台独立的计算机。

这样,用户就可以同时运行多个不同的应用程序或者操作系统,而这些虚拟机的使用也是隔离的,不会互相影响。

3. 测试和开发:虚拟机技术在软件测试和开发中也有着广泛的应用。

基于虚拟机的可信云计算平台研究与设计

基于虚拟机的可信云计算平台研究与设计
Te h i e a d M e h d c nqu n to
基 于虚 拟 机 的可信 云计 算 平 台研 究 与设计
邢 剑锋 , 鹏 飞 , 王 沈 松
( 军 蚌 埠 士 官 学 校 信 息 技 术 系 , 徽 蚌 埠 2 3 1) 海 安 3 0 2
摘 要 :针 对 云 计 算 中数 据 和 计 算 的 保 密 性 和 完 整 性 无 法 保 证 的 问题 , 计 了 一 种 基 于 虚 拟 机 的 设
可 信 赖 云 计 算 平 台 , 它 为 客 户 虚 拟 机 安 全 执 行 提 供 封 闭 环 境 , 允 许 用 户 在 执 行 虚 拟 机 前 先 检 验 服 务
商 , 确 保服 务 安 全 。 以
关 键 词 :云 计 算 ; 3 3 0 P 9 .8 文 献 标 识 码 :A 文 章 编 号 :17 — 7 0 2 1 )6 0 7 — 3 6 4 7 2 (0 0 1 — 0 5 0
可 以 完 全 在 线 运 行 , 需 客 户 干 预 ; 高 软 件 层 级 运 行 无 在 服 务 更 难 保 证 计 算 的保 密 性 , 为 服 务 本 身 需 要 操 作 客 因 户 数 据 的 软 件 。 本 文 主 要 研 究 低 层 级 Ia aS云 服 务 商 , 此
pa o (C P .T C nbe nrs cue a evc rvdr t poie a c sd b x eeuin ev o m n ta g aat s lt r T C ) C P e al if t tr s a srie poies o r d l e o x ct n i n et h t u r e fm s ar u v o o r ne
Re s r h a e i n o r s e l u a e c nd d sg f tu t d c o d-p a f r b s d o it lma h ne l to m a e n v rua c i

《基于虚拟可信平台的软件可信性研究》范文

《基于虚拟可信平台的软件可信性研究》范文

《基于虚拟可信平台的软件可信性研究》篇一一、引言随着信息技术的飞速发展,软件系统在各个领域的应用越来越广泛,其安全性、可靠性和可信性也日益受到关注。

然而,由于软件系统的复杂性、网络环境的开放性和人为因素的影响,软件的可信性问题变得日益突出。

为了解决这一问题,基于虚拟可信平台的软件可信性研究应运而生。

本文旨在探讨基于虚拟可信平台的软件可信性研究,为软件安全保障提供新的思路和方法。

二、虚拟可信平台概述虚拟可信平台(Virtual Trusted Platform,VTP)是一种基于硬件安全模块的软件可信性保障技术。

它通过在硬件层面构建安全环境,对软件运行过程中的数据和操作进行监控、验证和保护,从而确保软件的可信性。

虚拟可信平台具有高安全性、高可靠性和高可用性的特点,能够为软件系统提供全方位的安全保障。

三、软件可信性研究现状及挑战目前,软件可信性研究已经取得了一定的成果,如形式化验证、动态检测和静态分析等。

然而,随着软件系统的复杂性和网络环境的动态性不断增加,软件的可信性问题依然面临诸多挑战。

首先,软件系统的漏洞和后门等安全问题层出不穷,给软件的可靠性带来严重威胁。

其次,软件系统的运行环境复杂多变,难以对软件的行为进行全面监控和验证。

此外,人为因素如代码注入、恶意攻击等也对软件的可信性造成严重挑战。

四、基于虚拟可信平台的软件可信性研究方法针对上述挑战,本文提出基于虚拟可信平台的软件可信性研究方法。

该方法通过在硬件层面构建安全环境,对软件运行过程中的数据和操作进行实时监控和验证,从而确保软件的可信性。

具体而言,该方法包括以下几个方面:1. 构建虚拟可信平台:在硬件层面构建安全环境,包括Trusted Platform Module(TPM)等硬件安全模块的部署和配置。

2. 数据和操作监控:通过虚拟可信平台对软件运行过程中的数据和操作进行实时监控和记录,包括对敏感数据的加密和签名等操作。

3. 行为验证和安全审计:通过行为验证和安全审计等技术手段,对软件的行为进行全面监控和验证,发现潜在的安全威胁和漏洞。

云计算中的可信计算机制研究

云计算中的可信计算机制研究

云计算中的可信计算机制研究云计算是进入21世纪以来快速发展的一种计算模式。

其以虚拟化技术为基础,通过互联网为基础设施,提供了强大的计算、存储和服务支持。

云计算具备高可用性、弹性伸缩、资源共享并节省成本的优势。

然而,由于云计算的特殊性质,安全和可信方面的问题也是亟待解决的。

而计算机可信机制便是解决云计算领域安全和可信问题的重要技术手段之一。

一、可信计算机制的概念可信计算机制(Trusted Computing)是指借助特殊的硬件和软件技术,为计算机系统提供完整性、保密性和可靠性保障的一种计算机机制。

可信计算的实现需要硬件层面的支持。

其中基于TPM(Trusted Platform Module)的解决方案应用最为广泛,TPM是一个硬件芯片,可以将计算机系统存储的一系列重要信息和密钥,以加密安全的方式保护起来。

要想保障计算机系统的可靠性,必须在操作系统层面和应用程序层面对可信计算进行支持。

二、可信计算机制的实现方式1、信任链机制信任链机制可以用来验证计算机系统的软件和硬件真实性。

其通过一条链条,依次验证整个计算机系统的各个环节,从而保证计算机系统的可靠性。

每一个环节的验证都是基于前面环节验证的结果得出。

2、加密技术在数据传输和存储的过程中,加密技术是一种非常有效的手段来保护数据的机密性、完整性和可用性。

加密技术可以通过VPN、SSL、TLS等方式实现数据加密传输,这样可以保证数据在互联网传输时不被窃听、篡改或删除。

3、数字签名技术数字签名技术是一种为了确定信息的可靠性和完整性的技术手段,以防止信息的伪造、篡改、丢失和否认。

数字签名技术可用于数据传输和存储等场景中,可以通过数字证书来确认信息的真实性和完整性。

三、可信计算机制的应用场景可信计算机制可以应用于云计算领域,以减少因云计算带来的安全问题。

由于云计算面临被攻击、滑坡或其他意外情况的可能性,因此可信计算机制应用在云计算中可以提高其安全性和可靠性。

计算机虚拟化技术研究与应用

计算机虚拟化技术研究与应用

计算机虚拟化技术研究与应用随着计算机技术的不断发展,计算机虚拟化技术作为一种全新的技术方法在现代信息技术领域得到了广泛应用。

计算机虚拟化技术可以将一台计算机划分为多个虚拟计算机,每个虚拟计算机都具有自己的操作系统、应用程序和硬件资源,从而提高计算机利用效率,降低计算机部署和维护的成本。

一、计算机虚拟化技术的发展历程计算机虚拟化技术的历史可以追溯到20世纪60年代,当时IBM公司研发了VM/370虚拟机管理系统,可以将一台主机划分为多个逻辑分区,每个分区都具有自己的操作系统和应用程序。

虚拟机管理系统的研发使得计算机资源得到充分利用,同时还能降低计算机管理员的工作负担。

近年来,计算机虚拟化技术得到了业界的广泛关注,特别是随着云计算的兴起,计算机虚拟化技术成为了云计算的核心技术之一。

云计算基于虚拟化技术构建,提供了一种按需使用计算资源的方式,并且能够将计算资源池化管理,从而实现资源共享和有效利用。

二、计算机虚拟化技术的原理与分类计算机虚拟化技术的基本原理是将计算机资源划分为多个逻辑部分,每个部分都具有自己的操作系统、应用程序和硬件资源,从而实现计算机资源的共享和分配。

根据虚拟化技术的实现方式,计算机虚拟化技术可以分为全虚拟化技术和半虚拟化技术。

全虚拟化技术在虚拟机中模拟一个完整的计算机系统,包括操作系统、硬件和驱动程序等,从而实现对物理资源的完全隔离。

半虚拟化技术则是在虚拟机中运行一个修改过的操作系统,该操作系统可以与物理资源交互,但需要在应用程序和操作系统之间进行修改,从而实现共享资源。

三、计算机虚拟化技术的应用计算机虚拟化技术的应用范围非常广泛,主要包括以下几个方面:1. 服务器虚拟化服务器虚拟化是计算机虚拟化技术最主要的应用场景之一,它能够提高服务器利用率,降低企业IT成本,从而帮助企业提高竞争力。

通过服务器虚拟化技术,公司可以在一台物理机上运行多个虚拟机,每个虚拟机之间相互隔离,具有独立的操作系统、应用程序和硬件资源。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

虚拟机的可信计算技术研究 【摘要】虚拟化技术作为云计算的关键技术,提高了企业计算资源的利用率。为了保证虚拟机运行环境的完整性和安全性,基于KVM虚拟机平台提出了一种可信虚拟计算架构。解决了可信虚拟平台下虚拟身份证明密钥的私密性问题,使得信任链能够从硬件TPM延伸到客户操作系统,为虚拟机的安全提供了保障。

【关键词】可信虚拟平台;身份证明密钥;信任扩展 1.引言 虚拟化技术的广泛应用,使得企业极大地提高了计算资源的利用率。由于虚拟化技术具有的隔离性,不同虚拟机可以提供不同的服务,并且不会影响到其他虚拟机的工作。此外,虚拟机具有动态特征,管理员能够动态地创建、启动、迁移或撤销虚拟机。虚拟机运行在虚拟机监控器[1](virtual machine monitor,VMM)模拟的硬件上,虚拟机监控器负责管理底层的真实硬件资源。虚拟机直接向用户提供计算服务,然而虚拟机监控器并没有对虚拟机进行度量,以确保虚拟机的完整性,因此虚拟机运行环境面临着严峻的安全问题。

自从可信计算组织TCG(TrustedComp-uting)[2]推出可信平台模块TPM(Trusted Platform Module)标准规范1.1和1.2,很快就有相应产品在市场中推广和应用,我国也相应推出了TCM(Trusted Cryptography Module)[3]标准规范与产品。TPM/TCM作为平台的信任根,目前已经配置在许多系统上。可信计算的核心是信任链的传递机制。在任何一个信任体系中都必须有一个公认的、不需要证明的起始点,这个起始点被称为是核心信任源CRTM(Core Root of Trust for Measurement),通过CRTM首先构建一个信任根,再建立一条信任链,从信任根开始到硬件平台,到操作系统,再到应用程序,一级认证一级,一级信任一级,把这种信任扩展到整个系统,从而确保整个系统的可信。

可信计算作为信息安全的一项重要技术,可以保证运行在真实硬件上的虚拟机监控器的完整性。然而信任链传递到虚拟机监控器层次就已经中止,并没有延伸到上层的虚拟机,虚拟机监控器与虚拟机之间的信任链并不存在。为了保证上层客户操作系统的完整性,需将虚拟化技术与可信计算技术结合,构建可信虚拟化平台,这也成为了目前业界的研究热点[5-10]。

构建可信虚拟化平台首要解决的问题是,在确保信任根不变的情况下,客户操作系统能够使用可信服务。为了让平台上的每一个虚拟机使用它所独有的TPM的安全存储、加密和签名功能,必须要解决虚拟机如何使用TPM的问题,即TPM的虚拟化问题[5]。TPM的虚拟化必须要确保硬件TPM的安全属性,问题难点并不在于TPM命令是如何实现的,而是在于如何支撑高层的安全概念,例如信任链的传递。

2.研究现状 基于虚拟化技术的可信计算,主要是利用虚拟化技术在一个可信物理平台上创建出多个虚拟机,并将从硬件TPM开始构建的信任链传递到每一个虚拟机,从而在一个可信物理平台上构建多个虚拟的可信计算平台。可信虚拟计算平台不仅保证了虚拟机的可信,还保证了提供不同应用服务的多个虚拟机之间的隔离。

目前虚拟化环境下TPM的虚拟化主要有3种方式:TPM的硬件扩展[6]、TPM的半虚拟化[7]和TPM的软件虚拟化[8,9,10]:

TPM硬件扩展方式通过扩展TPM上下文为每个虚拟机提供TPM环境,虚拟机监控器可能透明地为每个虚拟机提供隔离的TPM会话,每个虚拟机可以自行读取和保存TPM上下文。然而该方式需要TPM硬件支持,目前并不存在硬件虚拟化的TPM。

TPM半虚拟化在虚拟机监控器层次加入一个中间层,实现硬件TPM对虚拟机的认证以及负责对硬件TPM的调试控制。然而这种方式需要更改一些设备接口,在兼容性方面会受到一定的影响。

目前大多数应用主要采用软件来实现TPM的虚拟化,为虚拟机提供一个接近真实硬件TPM的接口。TPM_Emulator[8]是由瑞士苏黎士联合研究所开发的软件TPM模拟器,为没有提供TPM物理芯片的计算平台提供TPM的功能仿真与模拟。TPM_Emulator实现了TPM的绝大部分功能,但它仅面向单个计算平台。S.Berger[9]分析了TPM虚拟化的需求,提出了TPM虚拟化的方法,将一个硬件TPM映射成多个虚拟TPM,虚拟TPM为每一个虚拟机提供一个专用的基于软件的信任根。在此基础上,Frederic[10]提出了一种构建可信虚拟平台的方案,并实现了虚拟TPM和物理TPM的绑定,以及虚拟TPM信任链的构建。该方案利用身份证明密钥AIK(attestation identity key)对虚拟TPM的AIK、物理平台配置寄存器PCR及时间戳进行签名,从而构成虚拟AIK证书。

Berger与Frederic都是基于XEN虚拟机实现了可信虚拟计算平台,主要存在以下几个问题:1、XEN是一个半虚拟化的虚拟机,在没有CPU对虚拟化的支持下,运行在XEN上的操作系统必须经过修改才能运行,这就缩小了XEN的应用范围;2、XEN是运行在Linux内核(Domain0)下层的一个产品,每次升级XEN时都需要重新编译整个内核。3、Berger提出了4种构建虚拟TPM信任链的思路,但是没有进一步研究。4、Frederic用物理AIK签名虚拟AIK的方式来生成虚拟AIK证书,从而实现信任链的传递。TPM规范中规定AIK密钥只能对TPM内部产生的信息进行签名,外部数据是无法使用AIK进行签名的。虚拟TPM的AIK是由虚拟TPM产生的,不属于物理TPM的内部信息,因此Frederic的方法不符合TPM规范。

KVM虚拟机是由Ret Hat推出的一种虚拟化技术。KVM是虚拟机监控器内核的一部分,以内核可加载模块的形式存在,运行在KVM虚拟机上的客户操作系统不需要进行任何修改。虽然XEN先于KVM提出,但是上文中提到的问题却限制了XEN的应用范围,因此KVM虚拟机具备更好的应用前景。针对目前 可信设备软件虚拟化的问题,本文从物理TPM的虚拟化角度出发,以KVM虚拟机为基础平台,提出了可信虚拟计算平台的设计方案。建立物理PCR与虚拟PCR的映射关系实现虚拟TPM与底层TCB的绑定,将信任链延伸到虚拟机,使得虚拟机能够有效地利用TPM提供的平台环境证明和私密信息存储功能,从而构建可信的虚拟运行环境。

虚拟机监控器的安全性是本文论述正确性的基础。在虚拟化环境中虚拟机负责向外界提供服务,因此虚拟机监控器的安全威胁来自上层虚拟机。虚拟机监控器的启动时的安全性可以由TPM的信任链传递来保证。为了保证虚拟机监控器运行时的完整性,HyperSafe[11]通过不可绕过的内存锁和受限制的指针索引来使虚拟机监控器具有自保护能力。

3.可信虚拟计算平台的设计 本文的可信虚拟计算平台的架构如图1所示。其中,TPM芯片是整个平台的信任根,负责对KVM虚拟机监控器的引导环境、内核、TPM管理器和TPM实例的完整性进行度量,从而构建虚拟计算环境的可信计算基TCB。TPM管理器负责TPM实例的创建和管理,为虚拟机与TPM实例、TPM实例与物理TPM提供通信信道。TPM实例与虚拟机对应,为虚拟机提供硬件TPM相同的功能,包括绑定、签名、封装和密钥存储。

3.1 底层可信基的绑定 在虚拟计算环境下,可信计算基TCB包括虚拟机监控器及其底层固件、TPM管理器及TPM实例,这些组件的完整性由硬件TPM度量,度量值保存在硬件TPM的平台配置寄存器PCR中。

TPM实例用于确保其对应虚拟机的完整性,度量虚拟机操作系统及上层应用程序,度量值保存在TPM实例的PCR中。为了让虚拟机使用可信度量功能,需要建立虚拟计算环境下的可信计算基,以确保虚拟机平台的完整性和可信虚拟平台的完整性。

TPM标准规范1.2规定了静态度量方式中24个平台配置寄存器PCR的使用方式,前16个PCR用于静态度量,后8个PCR用于动态度量。当可信虚拟平台启动时,可信计算基TCB会先被度量,从而保证平台的完整性。根据TPM规范,信任根对物理硬件及BIOS进行度量,度量值存放在0~6号PCR。执行权限转交给BIOS,BIOS对可信引导程序GrubIMA进行度量,度量值放在第7号PCR。执行权限转交给GrubIMA,GrubIMA对虚拟机监控器的内核、TPM管理器及TPM实例进行度量,度量值存放在第8号PCR中。

每个TPM实例除了需要记录它对应虚拟机的完整性信息,还需要记录底层可信基TCB的完整性信息。因此将每个TPM实例的前9个PCR与物理TPM的PCR进行映射,保存底层TCB的完整性信息,后7个PCR则用来保存虚拟机内的完整性信息(系统配置文件、应用程序的度量值),如图2所示。 通过上述方式,构建了可信虚拟平台的可信计算基TCB,可以同时反映硬件平台与虚拟机内部的完整性信息。

可信计算基TCB需要向虚拟机提供身份证明,即TPM实例与TPM管理器向虚拟机证明他们是可信的。这个过程需要使用虚拟AIK密钥对TPM实例中的数据进行签名。在进行平台完整性认证时,TPM实例通过TPM_Quote操作使用TPM实例产生的虚拟AIK对TPM实例中的PCR值进行签名,然后将签名后的值与度量列表一起发送给虚拟机中的用户。

3.2 信任扩展 生成平台完整性证据时,最重要的就是用TPM管理器产生的虚拟AIK密钥对TPM实例的PCR值签名。虚拟AIK密钥的私密性直接关系到签名后度量结果的真实性。在非虚拟化环境下,AIK密钥只能在物理TPM中使用,代表了TPM的身份,一旦移出TPM就会被加密保存。此外AIK密钥只能对TPM内部产生的数据进行签名,外部数据无法使用AIK签名。

为了确保AIK密钥的私密性以及虚拟平台与硬件平台的绑定关系,需要利用硬件TPM来构造虚拟TPM平台的AIK证书,从而确保可信平台信任的扩展。我们可以使用与硬件TPM中AIK证书生成方式相同的方法,来生成虚拟AIK证书。硬件TPM中AIK证书是由背书密钥EK产生的,而EK由信任第三方CA颁发给硬件TPM。EK与AIK是一一对应的,EK代表了平台的真实身份,AIK用于向外界证明平台的身份。在可信虚拟化环境下,为了生成虚拟AIK证书,可以通过EK-虚拟EK-虚拟AIK的证书链来为TPM实例颁发该证书。TPM管理器向CA证明TPM实例的可信性,由CA向TPM管理器颁发虚拟EK证书,由虚拟EK来生成虚拟AIK证书。由于虚拟机的数量会很多,这就增加了CA的负载。

另外一种方法就是用物理AIK密钥来生成虚拟AIK证书。TPM实例生成虚拟AIK密钥,并向TPM管理器请求虚拟AIK证书,TPM管理器发硬件TPM发送命令,让硬件TPM用物理AIK密钥对物理PCR、虚拟AIK、随机数和时间戳进行签名,然后与虚拟AIK密钥一同构成虚拟AIK证书。这样就不依赖于可信第三方,通过物理AIK证书构成虚拟AIK证书,并且绕过了虚拟EK证书。然而TPM规范中规定AIK密钥只能对TPM内部产生的信息(包括TPM产生的其他密钥、PCR的值)进行签名,因此这种方法不符合TPM规范。

相关文档
最新文档