Skip to content

Commit b07b71a

Browse files
philipandakrystian-hebel
authored andcommitted
FAQ.md: Explain why TB uses an intermediate loader, fix typos
Co-authored-by: Krystian Hebel <[email protected]> Signed-off-by: Filip Gołaś <[email protected]>
1 parent 9ad0d56 commit b07b71a

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

docs/FAQ.md

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
1. [Why use TrenchBoot?](#1-why-use-trenchboot-background-info)
44
2. [How does TrenchBoot work?](
55
#2-how-does-trenchboot-work-trenchboot-architecture)
6-
3. [Why does TrenchBoot use an intermediate launcher?](
7-
#3-why-does-trenchboot-use-an-intermediate-launcher)
8-
4. [What are the benefits of measurement over signature validation?](
9-
#4-what-are-the-benefits-of-measurement-over-signature-validation)
6+
3. [What is the TrenchBoot intermediate loader?](
7+
#3-what-is-the-trenchboot-intermediate-loader)
8+
4. [How do measurement trust chains contrast with verification trust chains?](
9+
#4-how-do-measurement-trust-chains-contrast-with-verification-trust-chains)
1010
5. [What do I need to incorporate TrenchBoot into my system?](
1111
#5-what-do-i-need-to-incorporate-trenchboot-into-my-system)
1212
6. [Where do I start if I want to help with contributions?](
@@ -95,7 +95,7 @@ passes off control to the actual desired OS to initiate the runtime phase.
9595

9696
### Bootstrap Phase - GRUB
9797

98-
GRUB has commands built in to carry-out a TrenchBoot _Secure Launch_ (currently
98+
GRUB has commands built in to carry out a TrenchBoot _Secure Launch_ (currently
9999
supporting Intel TXT and AMD SKINIT). This is typically called the pre-launch or
100100
preamble phase of the launch. These commands are `slaunch` and `slaunch_module`.
101101

@@ -116,21 +116,25 @@ whether to boot into the target OS. Together the kernel and u-root initramfs
116116
make up TrenchBoot's _Security Engine_, an intermediate mini-OS that processes
117117
data gathered by that bootstrap phase. During the intermediate phase, the kernel
118118
and initramfs work together to measure block devices, individual files,
119-
SMBUS/DMI information etc. The kernel and initramfs also provide unseal based,
119+
SMBUS/DMI information, etc. The kernel and initramfs also provide unseal based,
120120
external device and network based attestation. TrenchBoot calls this
121121
functionality _Secure Launch_ (aka slaunch).
122122

123-
## 3. Why does TrenchBoot use an intermediate launcher?
123+
## 3. What is the TrenchBoot intermediate loader?
124124

125125
For Linux systems doing both verified (secure) and measured boot, there is an
126126
intermediary that handles the security enforcement. For verified boot, the
127-
intermediary is the UEFI shim loader and for measured boot it is tboot.
128-
TrenchBoot replaces these intermediary loaders with a common Linux-based loader
129-
that provides a rich security processing framework. One role that TrenchBoot
130-
does not fulfill is that the UEFI shim also serves as a trust delegation point
131-
that transitions from Microsoft Authority to Distribution/Installer/No
132-
Authority. The response why this is not of concern will be addressed in the
133-
next question.
127+
intermediary is the UEFI shim loader and for measured boot, it is tboot. One of
128+
the use cases for TrenchBoot is a drop-in replacement of tboot, hence a common
129+
Linux-based loader that provides a rich security processing framework is used as
130+
an intermediate stage. This allows for easy modifications to the framework in an
131+
environment that most developers are familiar with. Other use cases may choose
132+
to modify this stage, or drop it altogether if the security processing is done
133+
in the final payload.
134+
135+
Intermediate loader tends to be the most common DRTM use case, it's how tboot
136+
works and how Microsoft's Secure Core DRTM works. It allows for starting
137+
existing operating systems with minimal or no changes.
134138

135139
## 4. How do measurement trust chains contrast with verification trust chains?
136140

@@ -153,12 +157,12 @@ TrenchBoot is a framework that allows you to build a Linux kernel with a
153157
tailored, embedded initramfs that functions as an intermediate loader to launch
154158
your system. You will need to use the build system to select the security
155159
engine components you desire, provide any necessary configurations, and build
156-
an instance of the loader. Next configure your system boot to launch
160+
an instance of the loader. Next, configure your system boot to launch
157161
the loader.
158162

159163
## 6. Where do I start if I want to help with contributions?
160164

161-
The [TrenchBoot Blueprints](./blueprints/index.md) collect product feature
165+
[TrenchBoot Blueprints](./blueprints/index.md) collect product feature
162166
requests. Check to see if there is an existing blueprint that addresses your
163167
feature request. You may also submit a blueprint via pull request to suggest
164168
features for implementation.

0 commit comments

Comments
 (0)