unofficial-rtos-docs

Chapter 1 - Introduction to NetX Duo Secure

NetX Duo Secure is a high-performance real-time implementation of cryptographic network security standards including TLS/SSL designed exclusively for embedded ThreadX-based applications. This chapter contains an introduction to NetX Duo Secure and a description of its applications and benefits.

NetX Duo Secure Unique Features

Unlike most other TLS implementations, NetX Duo Secure was designed from the ground up to support a wide variety of embedded hardware platforms and scales easily from small micro-controller applications to the most powerful embedded processors available. The code is written with the limited resources of embedded systems in mind, and provides a number of configuration options to reduce the memory footprint needed to provide secure network communications over TLS.

RFCs Supported by NetX Duo Secure

NetX Duo Secure supports the following protocols related to TLS. The list is not necessarily comprehensive as there are numerous RFCs pertaining to TLS and cryptography. NetX Duo Secure follows all general recommendations and basic requirements within the constraints of a real-time operating system with small memory footprint and efficient execution.

RFC Description Page
RFC 2104 HMAC: Keyed-Hashing for Message Authentication 33
RFC 2246 The TLS Protocol Version 1.0 19
RFC 3268 Advanced Encryption Standard (AES) Ciphersuites for Transport Layer Security (TLS) 31
RFC 3447 Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1 32
RFC 4279 Pre-Shared Key Ciphersuites for TLS 39
RFC 4346 The Transport Layer Security (TLS) Protocol Version 1.1 19
RFC 5246 The Transport Layer Security (TLS) Protocol Version 1.2 19
RFC 5280 X.509 PKI Certificates (v3) 41
RFC 5746 Transport Layer Security (TLS) Renegotiation Indication Extension  
RFC 5869 HMAC-based Extract-and-Expand Key Derivation Function (HKDF) 19
RFC 60661 Transport Layer Security (TLS) Extensions: Extension Definitions 19
RFC 6234 US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF) 33
RFC 8443 Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS) Versions 1.2 and Earlier  
RFC 8446 The Transport Layer Security (TLS) Protocol Version 1.3 19
  1. As of version 6.0 only the Server Name Indication (SNI) extension from RFC 6066 is fully supported.

NetX Duo Secure Requirements

In order to function properly, the NetX Duo Secure run-time library requires that a NetX IP instance has already been created. In addition, and depending on the application, one or more DER-encoded X.509 Digital Certificates will be required, either to identify a TLS instance or to verify certificates coming from a remote host. The NetX Duo Secure package has no further requirements.

NetX Duo Secure Constraints

The NetX Duo Secure protocol implements the requirements of the RFC 5246 Standard(s) for TLS 1.2 and RFC 8446 for TLS 1.3, as well as providing optional (disabled by default) backwards-compatibility with RFCs 4346 (TLS 1.1) and 2246 (TLS 1.0). However, there are the following constraints: