Skip to content

Commit 70e38dc

Browse files
Merge pull request #212778 from liydu/liydu-patch-sesip-3
SESIP-3 certification updates
2 parents d6aa4ed + ff135f9 commit 70e38dc

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

articles/iot-develop/concepts-azure-rtos-security-practices.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,18 @@ Support current TLS versions:
327327

328328
**Azure RTOS**: TLS 1.2 is enabled by default. TLS 1.3 support must be explicitly enabled in Azure RTOS because TLS 1.2 is still the de-facto standard.
329329

330+
Also ensure the below corresponding NetX Secure configurations are set. Please refer to the [list of configurations](https://learn.microsoft.com/azure/rtos/netx-duo/netx-secure-tls/chapter2#configuration-options) for details.
331+
332+
```c
333+
/* Enables secure session renegotiation extension */
334+
#define NX_SECURE_TLS_DISABLE_SECURE_RENEGOTIATION 0
335+
336+
/* Disables protocol version downgrade for TLS client. */
337+
#define NX_SECURE_TLS_DISABLE_PROTOCOL_VERSION_DOWNGRADE
338+
```
339+
340+
When setting up NetX TLS, use [`nx_secure_tls_session_time_function_set()`](https://learn.microsoft.com/azure/rtos/netx-duo/netx-secure-tls/chapter4#nx_secure_tls_session_time_function_set) to set a timing function that returns the current GMT in UNIX 32-bit format to enable checking of the certification expirations.
341+
330342
**Application**: To use TLS with cloud services, a certificate is required. The certificate must be managed by the application.
331343

332344
### Use X.509 certificates for TLS authentication
@@ -351,7 +363,16 @@ Use the strongest cryptography and cipher suites available for TLS. You need the
351363

352364
**Azure RTOS**: Azure RTOS TLS provides hardware drivers for select devices that support cryptography in hardware. For routines not supported in hardware, the [Azure RTOS cryptography library](/azure/rtos/netx/netx-crypto/chapter1) is designed specifically for embedded systems. A FIPS 140-2 certified library that uses the same code base is also available.
353365

354-
**Application**: Applications that use TLS should choose cipher suites that use hardware-based cryptography when it's available. They should also use the strongest keys available.
366+
**Application**: Applications that use TLS should choose cipher suites that use hardware-based cryptography when it's available. They should also use the strongest keys available. Note the following TLS Cipher Suites, supported in TLS 1.2, do not provide forward secrecy:
367+
368+
- **TLS_RSA_WITH_AES_128_CBC_SHA256**
369+
- **TLS_RSA_WITH_AES_256_CBC_SHA256**
370+
371+
Consider using **TLS_RSA_WITH_AES_128_GCM_SHA256** if available.
372+
373+
SHA1 (128-bit) is no longer considered cryptographically secure, avoid using cipher suites that engages SHA1 (such as **TLS_RSA_WITH_AES_128_CBC_SHA**) if possible.
374+
375+
AES/CBC mode is susceptible to Lucky-13 attacks. Application shall use AES-GCM (such as **TLS_RSA_WITH_AES_128_GCM_SHA256**).
355376

356377
### TLS mutual certificate authentication
357378

@@ -525,4 +546,4 @@ Whether you're using Azure RTOS in combination with Azure Sphere or not, the Mic
525546
- [Common Criteria](https://www.commoncriteriaportal.org/) is an international agreement that provides standardized guidelines and an authorized laboratory program to evaluate products for IT security. Certification provides a level of confidence in the security posture of applications using devices that were evaluated by using the program guidelines.
526547
- [Security Evaluation Standard for IoT Platforms (SESIP)](https://globalplatform.org/sesip/) is a standardized methodology for evaluating the security of connected IoT products and components.
527548
- [ISO 27000 family](https://www.iso.org/isoiec-27001-information-security.html) is a collection of standards regarding the management and security of information assets. The standards provide baseline guarantees about the security of digital information in certified products.
528-
- [FIPS 140-2/3](https://csrc.nist.gov/publications/detail/fips/140/3/final) is a US government program that standardizes cryptographic algorithms and implementations used in US government and military applications. Along with documented standards, certified laboratories provide FIPS certification to guarantee specific cryptographic implementations adhere to regulations.
549+
- [FIPS 140-2/3](https://csrc.nist.gov/publications/detail/fips/140/3/final) is a US government program that standardizes cryptographic algorithms and implementations used in US government and military applications. Along with documented standards, certified laboratories provide FIPS certification to guarantee specific cryptographic implementations adhere to regulations.

0 commit comments

Comments
 (0)