protocomm: Added option to enable/disable supported security versions.
This commit is contained in:
@@ -91,9 +91,12 @@ Similarly for HTTPS transport:
|
||||
|
||||
You may set security for transport in ESP local control using following options:
|
||||
|
||||
1. `PROTOCOM_SEC1`: specifies that end to end encryption is used.
|
||||
2. `PROTOCOM_SEC0`: specifies that data will be exchanged as a plain text.
|
||||
3. `PROTOCOM_SEC_CUSTOM`: you can define your own security requirement. Please note that you will also have to provide `custom_handle` of type `protocomm_security_t *` in this context.
|
||||
1. `PROTOCOM_SEC2`: specifies that SRP6a based key exchange and end to end encryption based on AES-GCM is used. This is the most preffered option as it adds a robust security with Augmented PAKE protocol i.e. SRP6a.
|
||||
2. `PROTOCOM_SEC1`: specifies that Curve25519 based key exchange and end to end encryption based on AES-CTR is used.
|
||||
3. `PROTOCOM_SEC0`: specifies that data will be exchanged as a plain text (no security).
|
||||
4. `PROTOCOM_SEC_CUSTOM`: you can define your own security requirement. Please note that you will also have to provide `custom_handle` of type `protocomm_security_t *` in this context.
|
||||
|
||||
.. note:: The respective security schemes need to be enabled through the project configuration menu. Please refer to the Enabling protocom security version section in :doc:`Protocol Communication </api-reference/provisioning/protocomm>` for more details.
|
||||
|
||||
Creating a property
|
||||
-------------------
|
||||
|
||||
@@ -19,6 +19,17 @@ Protocomm provides framework for various transports - WiFi (SoftAP+HTTPD), BLE,
|
||||
|
||||
Note that the client still needs to establish session (for protocomm_security1 and protocomm_security2) by performing the two way handshake. See :doc:`provisioning` for more details about the secure handshake logic.
|
||||
|
||||
Enabling protocomm security version
|
||||
-----------------------------------
|
||||
Protocomm component provides project configuration menu to enable/disable support of respective security versions.
|
||||
The respective configuration options can be found as follows:
|
||||
|
||||
* Support protocomm security version 1 (no security): :ref:`CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0` (this option is enabled by default)
|
||||
* Support protocomm security version 1 (Curve25519 key exchange + AES-CTR encryption/decryption): :ref:`CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1` (this option is enabled by default)
|
||||
* Support protocomm security version 2 (SRP6a-based key exchange + AES-GCM encryption/decryption): :ref:`CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2`
|
||||
|
||||
.. note:: Enabling multiple security versions allow to control them dynamically but also increases firmware size.
|
||||
|
||||
Transport Example (SoftAP + HTTP) with Security 2
|
||||
-------------------------------------------------
|
||||
For sample usage, see :component_file:`wifi_provisioning/src/scheme_softap.c`
|
||||
|
||||
@@ -107,6 +107,8 @@ At present, unified provisioning supports the following security schemes:
|
||||
b. No Auth (Null PoP) - Shared key derived through key exchange only
|
||||
3. Security2 - SRP6a-based shared key derivation and AES256-GCM mode encryption of the data.
|
||||
|
||||
.. note:: The respective security schemes need to be enabled through the project configuration menu. Please refer to the Enabling protocom security version section in :doc:`protocomm` (Protocol Communication) for more details.
|
||||
|
||||
Security1 Scheme
|
||||
>>>>>>>>>>>>>>>>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user