1.. SPDX-License-Identifier: GPL-2.0 2.. include:: ../../disclaimer-zh_CN.rst 3 4:Original: Documentation/security/tpm/xen-tpmfront.rst 5 6:翻译: 7 赵硕 Shuo Zhao <zhaoshuo@cqsoftware.com.cn> 8 9================ 10Xen的虚拟TPM接口 11================ 12 13作者:Matthew Fioravante (JHUAPL), Daniel De Graaf (NSA) 14 15本文档描述了用于Xen的虚拟可信平台模块(vTPM)子系统。假定读者熟悉 16Xen和Linux的构建和安装,并对TPM和vTPM概念有基本的理解。 17 18介绍 19---- 20 21这项工作的目标是为虚拟客户操作系统(在Xen中称为DomU)提供TPM功能。这使得 22程序能够像与物理系统上的TPM交互一样,与虚拟系统中的TPM进行交互。每个客户 23操作系统都会获得一个唯一的、模拟的软件TPM。然而,vTPM的所有秘密(如密钥、 24NVRAM 等)由vTPM管理域进行管理,该域将这些秘密封存到物理TPM中。如果创建这 25些域(管理域、vTPM域和客户域)的过程是可信的,vTPM子系统就能将根植于硬件 26TPM的信任链扩展到Xen中的虚拟机。vTPM的每个主要组件都作为一个独立的域实现, 27从而通过虚拟机监控程序(hypervisor)提供安全隔离。 28 29这个mini-os vTPM 子系统是建立在IBM和Intel公司之前的vTPM工作基础上的。 30 31 32设计概述 33-------- 34 35vTPM的架构描述如下:: 36 37 +------------------+ 38 | Linux DomU | ... 39 | | ^ | 40 | v | | 41 | xen-tpmfront | 42 +------------------+ 43 | ^ 44 v | 45 +------------------+ 46 | mini-os/tpmback | 47 | | ^ | 48 | v | | 49 | vtpm-stubdom | ... 50 | | ^ | 51 | v | | 52 | mini-os/tpmfront | 53 +------------------+ 54 | ^ 55 v | 56 +------------------+ 57 | mini-os/tpmback | 58 | | ^ | 59 | v | | 60 | vtpmmgr-stubdom | 61 | | ^ | 62 | v | | 63 | mini-os/tpm_tis | 64 +------------------+ 65 | ^ 66 v | 67 +------------------+ 68 | Hardware TPM | 69 +------------------+ 70 71* Linux DomU: 72 希望使用vTPM的基于Linux的客户机。可能有多个这样的实例。 73 74* xen-tpmfront.ko: 75 Linux内核虚拟TPM前端驱动程序。该驱动程序为基于Linux的DomU提供 76 vTPM访问。 77 78* mini-os/tpmback: 79 Mini-os TPM后端驱动程序。Linux前端驱动程序通过该后端驱动程序连 80 接,以便在Linux DomU和其vTPM之间进行通信。该驱动程序还被 81 vtpmmgr-stubdom用于与vtpm-stubdom通信。 82 83* vtpm-stubdom: 84 一个实现vTPM的mini-os存根域。每个正在运行的vtpm-stubdom实例与系统 85 上的逻辑vTPM之间有一一对应的关系。vTPM平台配置寄存器(PCRs)通常都 86 初始化为零。 87 88* mini-os/tpmfront: 89 Mini-os TPM前端驱动程序。vTPM mini-os域vtpm-stubdom使用该驱动程序 90 与vtpmmgr-stubdom通信。此驱动程序还用于与vTPM域通信的mini-os域,例 91 如 pv-grub。 92 93* vtpmmgr-stubdom: 94 一个实现vTPM管理器的mini-os域。系统中只有一个vTPM管理器,并且在整个 95 机器生命周期内应一直运行。此域调节对系统中物理TPM的访问,并确保每个 96 vTPM的持久状态。 97 98* mini-os/tpm_tis: 99 Mini-osTPM1.2版本TPM 接口规范(TIS)驱动程序。该驱动程序由vtpmmgr-stubdom 100 用于直接与硬件TPM通信。通信通过将硬件内存页映射到vtpmmgr-stubdom来实现。 101 102* 硬件TPM: 103 固定在主板上的物理 TPM。 104 105与Xen的集成 106----------- 107 108vTPM驱动程序的支持已在Xen4.3中通过libxl工具堆栈添加。有关设置vTPM和vTPM 109管理器存根域的详细信息,请参见Xen文档(docs/misc/vtpm.txt)。一旦存根域 110运行,与磁盘或网络设备相同,vTPM设备将在域的配置文件中进行设置 111 112为了使用诸如IMA(完整性测量架构)等需要在initrd之前加载TPM的功能,必须将 113xen-tpmfront驱动程序编译到内核中。如果不使用这些功能,驱动程序可以作为 114模块编译,并像往常一样加载。 115