For regular traffic in mesh network (between Internet of Thing devices) customer decided to use one of two options:
- DTLS PSK ciphersuite – DTLS based on pre-shared symmetric key
- or direct use of AES – customer wants to minimize traffic between sleepy devices (battery should be alive for several months)
- What are the additional threats of second option (AES) that do not exist for first option (DTLS-PSK)?
- How to mitigate these threats (say using AES in CBC or another mode and change IV, etc)? Not reinventing DTLS protocol manually and not with the same overheads as DTLS has.
There is mandatory requirement to share symmetric key between IoT devices within mesh network for regular traffic. This key fits for both options. (First joining of new device will use DTLS-PAKE – I mentioned this just in case – this is not important for this question).
Let’s specify DTLS-PSK mode more exactly – I’m going to use mbedTLS crypto library with define MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8 is specified in cipher suite. Where CCM is mode for block ciphers that provides both authentication and confidentiality.