331 . [ Why use TrenchBoot?] ( #1-why-use-trenchboot-background-info )
442 . [ 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 )
10105 . [ What do I need to incorporate TrenchBoot into my system?] (
1111 #5 -what-do-i-need-to-incorporate-trenchboot-into-my-system)
12126 . [ 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
9999supporting Intel TXT and AMD SKINIT). This is typically called the pre-launch or
100100preamble 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
116116make up TrenchBoot's _ Security Engine_ , an intermediate mini-OS that processes
117117data gathered by that bootstrap phase. During the intermediate phase, the kernel
118118and 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,
120120external device and network based attestation. TrenchBoot calls this
121121functionality _ Secure Launch_ (aka slaunch).
122122
123- ## 3. Why does TrenchBoot use an intermediate launcher ?
123+ ## 3. What is the TrenchBoot intermediate loader ?
124124
125125For Linux systems doing both verified (secure) and measured boot, there is an
126126intermediary 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
153157tailored, embedded initramfs that functions as an intermediate loader to launch
154158your system. You will need to use the build system to select the security
155159engine 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
157161the 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
162166requests. Check to see if there is an existing blueprint that addresses your
163167feature request. You may also submit a blueprint via pull request to suggest
164168features for implementation.
0 commit comments