Minimal TLS configuration: documentation improvements

Some of the options have been moved around, but there are no semantic
changes.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
Gilles Peskine 2022-02-25 19:20:36 +01:00
parent 7c45b6767b
commit a132beb750

View file

@ -21,11 +21,15 @@
*/ */
/* /*
* Minimal configuration for TLS 1.2 with PSK and AES-CCM ciphersuites * Minimal configuration for TLS 1.2 with PSK and AES-CCM ciphersuites
*
* Distinguishing features: * Distinguishing features:
* - no bignum, no PK, no X509 * - Optimized for small code size, low bandwidth (on a reliable network),
* - fully modern and secure (provided the pre-shared keys have high entropy) * and low RAM usage.
* - very low record overhead with CCM-8 * - No asymmetric cryptography (no certificates, no Diffie-Hellman key
* - optimized for low RAM usage * exchange).
* - Fully modern and secure (provided the pre-shared keys are generated and
* stored securely).
* - Very low record overhead with CCM-8.
* *
* See README.txt for usage instructions. * See README.txt for usage instructions.
*/ */
@ -36,11 +40,7 @@
//#define MBEDTLS_HAVE_TIME /* Optionally used in Hello messages */ //#define MBEDTLS_HAVE_TIME /* Optionally used in Hello messages */
/* Other MBEDTLS_HAVE_XXX flags irrelevant for this configuration */ /* Other MBEDTLS_HAVE_XXX flags irrelevant for this configuration */
/* mbed TLS feature support */ /* Mbed TLS modules */
#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
#define MBEDTLS_SSL_PROTO_TLS1_2
/* mbed TLS modules */
#define MBEDTLS_AES_C #define MBEDTLS_AES_C
#define MBEDTLS_CCM_C #define MBEDTLS_CCM_C
#define MBEDTLS_CIPHER_C #define MBEDTLS_CIPHER_C
@ -53,18 +53,9 @@
#define MBEDTLS_SSL_SRV_C #define MBEDTLS_SSL_SRV_C
#define MBEDTLS_SSL_TLS_C #define MBEDTLS_SSL_TLS_C
/* Save RAM at the expense of ROM */ /* TLS protocol feature support */
#define MBEDTLS_AES_ROM_TABLES #define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
#define MBEDTLS_SSL_PROTO_TLS1_2
/* Save some RAM by adjusting to your exact needs */
#define MBEDTLS_PSK_MAX_LEN 16 /* 128-bits keys are generally enough */
/*
* You should adjust this to the exact number of sources you're using: default
* is the "platform_entropy_poll" source, but you may want to add other ones
* Minimum is 2 for the entropy test suite.
*/
#define MBEDTLS_ENTROPY_MAX_SOURCES 2
/* /*
* Use only CCM_8 ciphersuites, and * Use only CCM_8 ciphersuites, and
@ -81,6 +72,19 @@
*/ */
#define MBEDTLS_SSL_MAX_CONTENT_LEN 1024 #define MBEDTLS_SSL_MAX_CONTENT_LEN 1024
/* Save RAM at the expense of ROM */
#define MBEDTLS_AES_ROM_TABLES
/* Save some RAM by adjusting to your exact needs */
#define MBEDTLS_PSK_MAX_LEN 16 /* 128-bits keys are generally enough */
/*
* You should adjust this to the exact number of sources you're using: default
* is the "platform_entropy_poll" source, but you may want to add other ones
* Minimum is 2 for the entropy test suite.
*/
#define MBEDTLS_ENTROPY_MAX_SOURCES 2
/* These defines are present so that the config modifying scripts can enable /* These defines are present so that the config modifying scripts can enable
* them during tests/scripts/test-ref-configs.pl */ * them during tests/scripts/test-ref-configs.pl */
//#define MBEDTLS_USE_PSA_CRYPTO //#define MBEDTLS_USE_PSA_CRYPTO