Skip to content

Commit 9ad0d56

Browse files
philipandarossphilipson
authored andcommitted
FAQ.md: Language and interpunction
Edited-by: Amanda Ferguson <af.jenks@gmail.com> Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
1 parent 6b416b2 commit 9ad0d56

File tree

1 file changed

+55
-54
lines changed

1 file changed

+55
-54
lines changed

docs/FAQ.md

Lines changed: 55 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -16,42 +16,42 @@
1616

1717
### What is Trust?
1818

19-
Like our [Glossary](./theory/Glossary.md#trust) says,
20-
trust is an assured reliance on the properties, ability, strength, or truth of
21-
an entity. If we assume any information or property is true without measuring
22-
and proving it, we need to trust it. This might include the belief, that our
23-
computer will behave in an expected way, that it won't leak our data, that it
24-
won't do something we didn't intend to do.
25-
26-
When establishing the trust of system components there are two primary schools
19+
Trust is an assured reliance on the properties, ability, strength, or truth of
20+
an entity (see [Glossary](./theory/Glossary.md#trust)). If we assume any
21+
information or property is true without measuring and proving it, we need to
22+
trust it. This might include the belief that our computer will behave in an
23+
expected way, that it won't leak our data, and that it won't do something we
24+
didn't intend or expect.
25+
26+
When establishing the trust of system components, there are two primary schools
2727
of thought: Static Root of Trust for Measurement (SRTM) and Dynamic Root of Trust
2828
for Measurement (DRTM).
2929

3030
### SRTM
3131

3232
SRTM Starts with Core Root of Trust for Measurement (CRTM), and works its way
3333
up the chain where each link verifies the next. In other words, SRTM starts by
34-
measuring the BIOS boot block and then moves on to measure the rest of the BIOS.
34+
measuring the BIOS boot block and moves on to measure the rest of the BIOS.
3535
SRTM has a few problems:
3636

37-
- Large TCB (Trusted Computing Base) - the more software as a part of the chain
37+
- Large TCB (Trusted Computing Base): the more software added to the chain
3838
of trust, the more potential vectors of attack.
39-
- Takes place before boot - reassuring the validity of the chain of trust
39+
- Takes place before boot: reassuring the validity of the chain of trust
4040
requires a reboot.
41-
- Only provides load-time integrity assurance - the integrity was maintained
42-
during boot, but there is no guarantee it will stay like that.
41+
- Only provides load-time integrity assurance: integrity is maintained
42+
during boot, but there is no guarantee it will remain so.
4343

4444
### DRTM
4545

46-
DRTM aims to address shortcomings of SRTM. DRTM creates trusted environment from
47-
an untrusted state. Essentially what this means is that regardless of whether
48-
or not computer was booted from trusted software, it uses hardware to ensure
49-
that no malicious software, which may or may not have been run before the
46+
DRTM aims to address shortcomings of SRTM. DRTM creates a trusted environment
47+
from an untrusted state. Essentially what this means is that regardless of
48+
whether or not computer was booted from trusted software, it uses hardware to
49+
ensure that no malicious software, which may or may not have been run before the
5050
dynamic launch, can impact software started after the dynamic launch. For this
5151
reason, DRTM takes place after boot, as opposed to SRTM, which takes place
5252
pre-boot. Intel's solution for DRTM is TXT, which utilizes special instructions
53-
on the processor (SMX). AMD's solution for DRTM is called SKINIT. TrenchBoot
54-
provides a solution for setting up DRTM for an arbitrary platform.
53+
on the processor (SMX). AMD's solution for DRTM is called SKINIT. Overall,
54+
TrenchBoot provides a solution for setting up DRTM for an arbitrary platform.
5555

5656
### Typical Measured Launch Process
5757

@@ -64,45 +64,45 @@ The process for carrying out DTRM depends on your system:
6464
[txt-spec]: https://www.intel.com/content/www/us/en/content-details/315168/intel-trusted-execution-technology-intel-txt-software-development-guide.html
6565
[skinit-spec]: https://www.amd.com/system/files/TechDocs/24593.pdf
6666

67-
### So, why TrenchBoot?
67+
### Why TrenchBoot?
6868

6969
- Managing multiple independent components individually can be confusing
7070
- Most DRTM systems are platform-dependent
7171
- Most DRTM systems can only measure entities already present in RAM at the
7272
time DRTM sequence is initiated
7373
- Most DRTM systems support only one attestation action
7474

75-
Trenchboot is meant to solve these, and many other problems by providing a
75+
Trenchboot is meant to solve these and many other problems by providing a
7676
universal framework for building integrity of software components in the
7777
process of booting a computer system.
7878

7979
## 2. How does TrenchBoot work? (TrenchBoot architecture)
8080

8181
### Architecture Overview
8282

83-
*The full architecture overview can be found on
84-
[the corresponding page](./theory/Architecture.md).*
83+
_The full architecture overview can be found on
84+
[the corresponding page](./theory/Architecture.md)._
8585
![Overview](img/Architectural_Flow.png)
8686
This diagram shows a general overview of the overall architecture of a
87-
TrenchBoot system. In Bootstrap phase the system environment is measured and
88-
that information stored in the dynamic PCRs, using whatever method is
87+
TrenchBoot system. In Bootstrap phase, the system environment is measured and
88+
that information stored in the dynamic PCRs using whatever method is
8989
appropriate for the given hardware. The intermediate phase analyzes the
90-
information collected in the bootstrap phase to decide if it wants to continue
91-
booting and pass control to the target OS, or if it wants to stop immediately.
92-
If desired, additional evidence/measurements can be gathered in this phase. Once
93-
the integrity of the system is verified the TrenchBoot kernel passes off
94-
control to the actual desired OS to initiate the runtime phase.
90+
information collected in the bootstrap phase to decide whether it wants to
91+
continue booting and pass control to the target OS or if it wants to stop
92+
immediately. If desired, additional evidence/measurements can be gathered in
93+
this phase. Once the integrity of the system is verified, the TrenchBoot kernel
94+
passes off control to the actual desired OS to initiate the runtime phase.
9595

9696
### Bootstrap Phase - GRUB
9797

98-
TrenchBoot utilizes its own system to carry out TXT on Intel, or SKINIT on AMD,
99-
which is a custom version of GRUB that has commands built in to carry out a
100-
TrenchBoot _Secure Launch_. Those commands are `slaunch` and `slaunch_module`.
98+
GRUB has commands built in to carry-out a TrenchBoot _Secure Launch_ (currently
99+
supporting Intel TXT and AMD SKINIT). This is typically called the pre-launch or
100+
preamble phase of the launch. These commands are `slaunch` and `slaunch_module`.
101101

102102
The custom GRUB works with:
103103

104-
- Linux boot protocol (Intel only, legacy and UEFI),
105-
- Multiboot2 boot protocol (both Intel and AMD, but only legacy boot).
104+
- Linux boot protocol (Intel only, legacy and UEFI)
105+
- Multiboot2 boot protocol (both Intel and AMD, but only legacy boot)
106106

107107
Support for [AMD Linux](https://github.com/TrenchBoot/trenchboot-issues/milestone/8)
108108
and [Multiboot2 UEFI](https://github.com/TrenchBoot/trenchboot-issues/milestone/11)
@@ -112,26 +112,27 @@ will be added later.
112112

113113
The intermediate phase processes information collected in the bootstrap phase
114114
and converts it into normalized data. This data is eventually used to determine
115-
whether to boot into the target OS. The kernel and u-root initramfs together
116-
make up TrenchBoot's _Security Engine_, which is an intermediate mini-OS that
117-
serves to process data gathered by that bootstrap phase. During the
118-
intermediate phase, the kernel and initramfs work together to measure block
119-
devices, individual files, SMBUS/DMI information and provides unseal based,
115+
whether to boot into the target OS. Together the kernel and u-root initramfs
116+
make up TrenchBoot's _Security Engine_, an intermediate mini-OS that processes
117+
data gathered by that bootstrap phase. During the intermediate phase, the kernel
118+
and initramfs work together to measure block devices, individual files,
119+
SMBUS/DMI information etc. The kernel and initramfs also provide unseal based,
120120
external device and network based attestation. TrenchBoot calls this
121-
functionality secure launch (aka slaunch).
121+
functionality _Secure Launch_ (aka slaunch).
122122

123123
## 3. Why does TrenchBoot use an intermediate launcher?
124124

125125
For Linux systems doing both verified (secure) and measured boot, there is an
126-
intermediary that handles the security enforcement. For verified boot it is the
127-
UEFI shim loader and for measured boot it is tboot. TrenchBoot replaces these
128-
intermediary loaders with a common Linux-based loader that provides a rich
129-
security processing framework. One role that TrenchBoot does not fulfill is
130-
that the UEFI shim also serves as a trust delegation point that transitions
131-
from Microsoft Authority to Distribution/Installer/No Authority. The response
132-
why this is not of concern will be addressed in the next question.
126+
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.
133134

134-
## 4. What are the benefits of measurement over signature validation?
135+
## 4. How do measurement trust chains contrast with verification trust chains?
135136

136137
It is important to understand that one solution is not necessarily more
137138
beneficial over the other. Measurement and Verification each have their merits
@@ -152,12 +153,12 @@ TrenchBoot is a framework that allows you to build a Linux kernel with a
152153
tailored, embedded initramfs that functions as an intermediate loader to launch
153154
your system. You will need to use the build system to select the security
154155
engine components you desire, provide any necessary configurations, and build
155-
an instance of the loader. After that, you configure your system boot to launch
156+
an instance of the loader. Next configure your system boot to launch
156157
the loader.
157158

158159
## 6. Where do I start if I want to help with contributions?
159160

160-
The [TrenchBoot Blueprints](./blueprints/index.md)
161-
are how feature requests are collected for the project. Check if there is a
162-
blueprint that is of your interest, if not, submit a blueprint via a pull
163-
request for a feature you would like to see implemented.
161+
The [TrenchBoot Blueprints](./blueprints/index.md) collect product feature
162+
requests. Check to see if there is an existing blueprint that addresses your
163+
feature request. You may also submit a blueprint via pull request to suggest
164+
features for implementation.

0 commit comments

Comments
 (0)