Simplified doc-site generation
[AGL/documentation.git] / docs / 2_Architecture_Guides / 2.2_Security_Blueprint / 2_Secure_Boot / 1.2.2.2_Communication-modes.md
1 ---
2 edit_link: ''
3 title: Communication modes
4 origin_url: >-
5   https://raw.githubusercontent.com/automotive-grade-linux/docs-sources/master/docs/security-blueprint/part-2/2-Communication-modes.md
6 ---
7
8 <!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/architecture/master/security_blueprint-security-blueprint-book.yml -->
9
10 # Communication modes
11
12 ## Disable USB, Serial and DOCSIS Support
13
14 To disable USB support in U-Boot, following config's shall not be defined:
15
16 ```
17 CONFIG_CMD_USB: Enables basic USB support and the usb command.
18 CONFIG_USB_UHCI: Defines the lowlevel part.
19 CONFIG_USB_KEYBOARD: Enables the USB Keyboard.
20 CONFIG_USB_STORAGE: Enables the USB storage devices.
21 CONFIG_USB_HOST_ETHER: Enables USB Ethernet adapter support.
22 ```
23
24 In addition, disable unnecessary communication modes like Ethernet, Serial
25 ports, DOCSIS in U-Boot and sboot that are not necessary.
26
27 Linux Kernel support for USB should be compiled-out if not required. If it is
28 needed, the Linux Kernel should be configured to only enable the minimum
29 required USB devices. User-initiated USB-filesystems should be treated with
30 special care. Whether or not the filesystems are mounted in userspace
31 (**FUSE**), restricted mount options should be observed.
32
33 <!-- section-config -->
34
35 Domain               | Communication modes       | _State_
36 -------------------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------
37 Boot-Communication-1 | `USB`                     | _Disabled_ and _Compiled-out_ if not required.
38 Boot-Communication-2 | `USB`                     | Else, Kernel should be configured to only enable the minimum required USB devices and filesystems should be treated with special care.
39 Boot-Communication-3 | `Ethernet`                | _Disabled_
40 Boot-Communication-4 | U-boot and sboot `DOCSIS` | _Disabled_
41 Boot-Communication-5 | `Serial ports`            | _Disabled_
42
43 <!-- end-section-config --> <!-- section-config -->
44
45 Domain                   | `Config` name           | _State_
46 ------------------------ | ----------------------- | -------------
47 Boot-Communication-USB-1 | `CONFIG_CMD_USB`        | _Not defined_
48 Boot-Communication-USB-2 | `CONFIG_USB_UHCI`       | _Not defined_
49 Boot-Communication-USB-3 | `CONFIG_USB_KEYBOARD`   | _Not defined_
50 Boot-Communication-USB-4 | `CONFIG_USB_STORAGE`    | _Not defined_
51 Boot-Communication-USB-5 | `CONFIG_USB_HOST_ETHER` | _Not defined_
52
53 <!-- end-section-config -->
54
55 --------------------------------------------------------------------------------
56
57 ## Disable all unused Network Interfaces
58
59 Only used network interfaces should be enabled.
60 Where possible, services should also be limited to those necessary.
61
62 <!-- section-config -->
63
64 Domain               | Communication modes  | _State_
65 -------------------- | -------------------- | ---------------------------------------------------------------------------------------------
66 Boot-Communication-1 | `Network interfaces` | Preferably _no network interface is allowed_, otherwise, restrict the services to those used.
67
68 <!-- end-section-config -->
69
70 ## Remove or Disable Unnecessary Services, Ports, and Devices
71
72 Restrict the `services`, `ports` and `devices` to those used.
73
74 <!-- section-config -->
75
76 Domain               | Object                            | Recommendations
77 -------------------- | --------------------------------- | -------------------------------------------------------------
78 Boot-Communication-1 | `Services`, `ports` and `devices` | Restrict the `services`, `ports` and `devices` to those used.
79
80 <!-- end-section-config -->
81
82 ## Disable flash access
83
84 **Recommendation**:
85
86 In U-Boot following flash memory commands shall be disabled:
87
88 **NAND**: Support for nand flash access available through `do_nand` has to be disabled.
89
90 <!-- section-config -->
91
92 Domain                     | `Command` name | _State_
93 -------------------------- | -------------- | ---------
94 Boot-Communication-Flash-1 | `do_nand`      | _Disable_
95
96 <!-- end-section-config -->
97
98 Similarly sboot should disable flash access support through command line if any.