|
66 | 66 |
|
67 | 67 | ## High Level Architecture |
68 | 68 |
|
| 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 | + |
69 | 75 | ### Block Diagram |
70 | 76 |
|
71 | 77 | The following block diagram illustrates the high-level architecture of OpenPRoT. |
72 | 78 |
|
73 | 79 | <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