MQTT 브로커와의 TLS(전송 계층 보안) 연결
MQTT 브로커와의 보안 연결을 설정하려면 포트 8883을 통해 MQTTS를 사용하거나 포트 443의 웹 소켓을 통해 MQTT를 사용할 수 있습니다. 보안 연결만 지원된다는 점에 유의해야 합니다. 다음 단계는 클라이언트를 인증하기 전에 보안 연결을 설정하는 것입니다.
mTLS(상호 전송 계층 보안) 연결이 설정되는 방법에 대한 높은 수준의 흐름
- 클라이언트는 MQTT 브로커를 사용하여 핸드셰이크를 시작합니다. 지원되는 TLS 버전, 암호화 그룹을 사용하여 hello 패킷을 보냅니다.
- 서비스는 클라이언트에 인증서를 제공합니다.
- 서비스는 클라이언트 hello 패킷의 암호화에 따라 P-384 EC 인증서 또는 RSA 2048 인증서를 제공합니다.
- 공용 인증 기관에서 서명한 서비스 인증서입니다.
- 클라이언트는 올바른 신뢰할 수 있는 서비스에 연결되어 있는지 유효성을 검사합니다.
- 그런 다음 클라이언트는 자체 인증서를 제시하여 신뢰성을 증명합니다.
- 현재 인증서 기반 인증만 지원하므로 클라이언트는 인증서를 보내야 합니다.
- 서비스에서 인증서의 유효성을 검사한 후 TLS 핸드셰이크를 성공적으로 완료합니다.
- TLS 핸드셰이크를 완료하고 mTLS 연결을 설정한 후 클라이언트는 MQTT CONNECT 패킷을 서비스에 보냅니다.
- 서비스는 클라이언트를 인증하고 연결을 허용합니다.
- mTLS를 설정하는 데 사용된 동일한 클라이언트 인증서는 서비스에 대한 클라이언트 연결을 인증하는 데 사용됩니다.
다음 단계
- 인증서 체인을 사용하여 클라이언트를 인증하는 방법 알아보기
- Microsoft Entra ID 토큰을 사용하여 클라이언트를 인증하는 방법 알아보기