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