Connessione TLS (Transport Layer Security) con il broker MQTT

Per stabilire una connessione sicura con il broker MQTT, è possibile usare MQTTS sulla porta 8883 o MQTT su Web Socket sulla porta 443. È importante notare che sono supportate solo le connessioni sicure. I passaggi seguenti consentono di stabilire una connessione sicura prima dell'autenticazione dei client.

Flusso generale del modo in cui viene stabilita la connessione mTLS (Mutual Transport Layer Security)

  1. Il client avvia l'handshake con il broker MQTT. Invia un pacchetto hello con versione TLS supportata, suite di crittografia.
  2. Il servizio presenta il certificato al client.
    • Il servizio presenta un certificato P-384 EC o un certificato RSA 2048 a seconda delle crittografie nel pacchetto hello client.
    • Certificati di servizio firmati da un'autorità di certificazione pubblica.
  3. Il client verifica che sia connesso al servizio corretto e attendibile.
  4. Il client presenta quindi il proprio certificato per dimostrare la sua autenticità.
    • Attualmente è supportata solo l'autenticazione basata su certificati, quindi i client devono inviare il certificato.
  5. Il servizio completa correttamente l'handshake TLS dopo la convalida del certificato.
  6. Dopo aver completato l'handshake TLS e la connessione mTLS, il client invia il pacchetto MQTT CONNECT al servizio.
  7. Il servizio autentica il client e consente la connessione.
    • Lo stesso certificato client usato per stabilire mTLS viene usato per autenticare la connessione client al servizio.

Passaggi successivi