Fixing broken links and formatting in App Framework page
[AGL/documentation.git] / docs / 3_Architecture_Guides / 2_Security_Blueprint / 2_Hardware.md
1 ---
2 title: Hardware
3 ---
4
5 The Automotive Grade Linux platform is a Linux distribution with **AGL**
6 compliant applications and services. The platform includes the following
7 hardware:
8
9 - SoC (System-on-Chip).
10 - Memory (RAM, ROM, storage, etc.).
11 - Peripherals.
12
13 You will find in this first part everything that concerns the hardware security.
14 The goal is to protect system against all attacks that are trying to gain
15 additional privileges by recovering and/or changing cryptographic keys in order
16 to alter the integrity of the boot. We should also prevent hardware
17 modifications in order to achieve this goal. We will expose below some examples
18 of possible configurations.
19
20 --------------------------------------------------------------------------------
21
22 ## Acronyms and Abbreviations
23
24 The following table lists the terms utilized within this part of the document.
25
26 Acronyms or Abbreviations | Description
27 ------------------------- | --------------------------------------
28 _HSM_                     | **H**ardware **S**ecurity **M**odule
29 _NVM_                     | **N**on-**V**olatile **M**emory
30 _SHE_                     | **S**ecure **H**ardware **E**xtensions
31
32 --------------------------------------------------------------------------------
33
34 ## Integrity
35
36 The board must store hardcoded cryptographic keys in order to verify among
37 others the _integrity_ of the _bootloader_. Manufacturers can use **HSM** and
38 **SHE** to enhance the security of their board.
39
40 Domain               | Object     | Recommendations
41 -------------------- | ---------- | ----------------------------------
42 Hardware-Integrity-1 | Bootloader | Must control bootloader integrity.
43 Hardware-Integrity-2 | Board      | Must use a HSM.
44 Hardware-Integrity-3 | RTC        | Must not be alterable.
45
46 --------------------------------------------------------------------------------
47
48 ## Certificates
49
50 Domain                 | Object | Recommendations
51 ---------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------
52 Hardware-Certificate-1 | System | Shall allow storing dedicated certificates.
53 Hardware-Certificate-2 | ECU    | The ECU must verify the certification authority hierarchy.
54 Hardware-Certificate-3 | System | Allow the modification of certificates only if the source can be authenticated by a certificate already stored or in the higher levels of the chain of trust.
55
56 --------------------------------------------------------------------------------
57
58 ## Memory
59
60 Domain            | Object     | Recommendations
61 ----------------- | ---------- | ------------------------------------------------------------------------------------
62 Hardware-Memory-1 | ECU        | The ECU shall never expose the unencrypted key in RAM when using cryptographic keys.
63 Hardware-Memory-2 | Bootloader | Internal NVM only
64 Hardware-Module-3 | -          | HSM must be used to secure keys.