Mutual Authentication
Mutual authentication, also known as two-way authentication, is a security process in which entities authenticate each other before actual communication occurs. In a network environment, this requires that both the client and the server must provide digital certificates to prove their identities. In a mutual authentication process, a connection can occur only if the client and the server exchange, verify, and trust each other's certificates. The certificate exchange occurs by means of the Transport Layer Security (TLS) protocol. The core of this process is to make sure that clients communicate with legitimate servers, and servers cooperate only with clients who attempt access for legitimate purposes.
To authorize both the subscriber and publisher, you can use JWT and Mutual Authentication. To complete the configuration you have to configure at least one of these methods.
The mutual authentication process involves the following certificates:
-
Root CA certificate
Used to identify a certificate authority (CA) that signed a client's certificate. It is a self-signed certificate that meets the X.509 standard, defining the format of public key certificates. In IoT products, clients upload a root CA certificate or a certificate chain to verify that the certificates that client devices send to edge servers can be trusted. -
Server SSL certificate
Used to identify edge servers to client devices over TLS and to establish a secure connection during the TLS handshake. It is the enhanced TLS certificate that you provide in your property configuration. -
Client SSL certificate
Used to identify client devices to edge servers over TLS. This certificate must meet the X.509 standard, defining the format of public key certificates.
Authenticating and establishing an encrypted channel using certificate-based mutual authentication
The process involves the following steps:
-
During configuration, administrators provide a root CA certificate or a certificate chain used to sign certificates on client devices.
-
The Edge Connect application deploys the certificate chain to the Akamai Platform.
-
Once the signing CA certificates propagate across the Akamai Platform, client device can connect by using MQTT, HTTP, or WebSocket protocols and request access to a topic.
-
The edge server presents its certificate to the client device.
-
The client device checks its list of trusted CAs and verifies the server's certificate.
-
If successful, the client device sends its certificate to the edge server.
-
The edge server checks its list of CAs and verifies the client device's certificate.
-
If successful, a secure connection between the server and the client device is established.
Updated almost 3 years ago