Securing communication with TLS/DTLS
Basically, Transport Layer Security (TLS) is used to encrypt data transmitted over any open network, including the internet, to keep communication between two parties secure. TLS uses both asymmetric keys and symmetric keys to secure a connection. When a client application tries to connect to a server, a process called a TLS handshake happens. During a TLS handshake, the following happens:
- Supported cipher suites (encryption algorithms) are exchanged between the parties and one is agreed upon for further communication.
- The server is authenticated on the client side by checking its certificate to see whether the certificate is issued by a Certificate Authority (CA). This step is important since the client needs to know whether the server is legitimate. A CA is an authority that approves/disapproves the authenticity of a certificate.
- A symmetric key is generated for the session communication in a secure way. Both parties use the same...