Skip to content

Commit 7c4a936

Browse files
moidxrusty1968
authored andcommitted
[docs] Add initial high-level architecture to specification
Adds a high-level architecture overview to the specification document. Signed-off-by: Miguel Osorio <[email protected]>
1 parent 6a39ae7 commit 7c4a936

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

docs/src/specification/README.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,51 @@ TBD
6666

6767
## High Level Architecture
6868

69+
The OpenPRoT architecture is designed to be a flexible and extensible platform
70+
Root of Trust (PRoT) solution. It is built upon a layered approach that
71+
abstracts hardware-specific implementations, providing standardized interfaces
72+
for higher-level applications. This architecture promotes reusability,
73+
interoperability, and a consistent security posture across different platforms.
74+
6975
### Block Diagram
7076

7177
The following block diagram illustrates the high-level architecture of OpenPRoT.
7278

7379
<img src="openprot_diagram.svg" alt="figure2" width="700"/>
80+
81+
### Architectural Layers
82+
83+
The OpenPRoT architecture can be broken down into the following layers:
84+
85+
1. **Hardware Abstraction Layer (HAL):** At the lowest level, the
86+
[Driver Development Kit](./device_abstraction/README.md) (DDK) provides
87+
hardware abstractions. This layer is responsible for interfacing with the
88+
specific RoT silicon and platform hardware.
89+
2. **Operating System:** Above the DDK sits the operating system, which
90+
provides the foundational services for the upper layers.
91+
3. **Middleware:** This layer consists of standardized communication protocols
92+
that enable secure and reliable communication between different components
93+
of the system. Key protocols include:
94+
* [MCTP](./middleware/mctp.md) (Management Component Transport Protocol):
95+
Provides a transport layer that is compatible with various hardware
96+
interfaces.
97+
* [SPDM](./middleware/spdm.md) (Security Protocol and Data Model): Used
98+
for establishing secure channels and for attestation.
99+
* [PLDM](./middleware/pldm.md) (Platform Level Data Model): Provides
100+
interfaces for firmware updates and telemetry retrieval.
101+
4. **Services:** This layer provides a minimal set of standardized services
102+
that align with the OpenPRoT specification. These services include:
103+
* **Lifecycle Services:** Manages the lifecycle state of the device,
104+
including secure debug enablement.
105+
* **Attestation:** Aggregates attestation reports from platform
106+
components.
107+
* [Firmware Update & Recovery](./services/fwupdate.md): Orchestrates the
108+
secure update and recovery of firmware for platform components.
109+
* **Telemetry:** Collects and extracts telemetry data.
110+
5. **Applications:** At the highest level are the applications that implement
111+
the core logic of the PRoT. These applications have room for differentiation
112+
while being built upon standardized interfaces. Key applications include:
113+
* **Secure Boot:** Orchestrates the secure boot process for platform
114+
components.
115+
* **Policy Manager:** Manages the security policies of the platform.
116+

0 commit comments

Comments
 (0)