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