认证方式概述

最近更新时间:2025-09-22 10:39:42

我的收藏
消息队列 MQTT 版提供了多种认证方式以保证服务端与客户端之间通信的安全性,客户端接入时,将按照配置的认证方式对客户端的身份进行验证,通过认证后才被允许接入,确保设备的合法接入。

认证方式

传输层:是 MQTT 协议体系的底层通信基础,它负责在 MQTT 客户端与服务端之间提供端到端的、可靠或不可靠的网络数据传输通道。该层并非 MQTT 协议本身的一部分,而是依赖于现有的网络传输协议来实现其功能。
应用层:是 MQTT 应用协议中的一个核心安全组件,作用于连接建立阶段。它负责对尝试连接到服务端的客户端身份进行验证,确保只有经过授权的客户端才能接入服务并访问系统资源。


适用场景

认证方式
说明
基础版
(已售罄)
专业版
铂金版
适用场景
用户名+密码认证
最基础的认证方式,客户端在连接时提供用户名(Username)和密码(Password),MQTT 将其与内部存储的凭证进匹配,匹配通过后接受客户端请求。
通用场景,安全性要求不高。
X.509 证书认证
单向认证:由客户端认证服务端,客户端对服务端的认证通过服务端证书完成。服务端会使用您选择的证书和客户端建联。
对安全性要求一般,或者测试场景。
双向认证:客户端与服务端之间相互认证,客户端对服务端的认证通过服务端证书完成,服务端对客户端的认证通过 CA 证书完成。验证通过则允许客户端连接服务端。
设备价值较高,对安全性要求较高。
一机一证:一种特殊的双向认证,每个客户端(每台设备)使用自行签发的 CA 证书及 CA 证书签发的不同的客户端证书(设备证书)进行认证。
×
设备价值极高,对安全性要求极高。
JWT 认证
JWT 认证是基于 Token 的鉴权机制,不依赖服务端保留客户端的认证信息或者会话信息,客户端在密码字段或单独字段中提交 JWT,MQTT 将验证 JWT 的签名和声明信息,验证通过后服务端接受客户端连接请求。
×
面向终端用户或临时会话,实现灵活的、带有时效性和自定义权限的动态鉴权。
HTTP 认证
客户端连接时,MQTT 将使用客户端信息构造 HTTP 请求,并根据请求返回的内容判断认证结果,认证通过,则允许该客户端连接服务端。
×
需要与企业现有统一身份认证体系集成的鉴权场景。
一机一密
每台设备使用独立的密钥,用于连接服务端进行认证。这个密钥是设备身份的唯一证明,用于连接服务端时的认证。
×
对安全有较高的诉求, 但是设备本身的算力比较有限, 无法支持使用基于 PKI 证书的“一机一证”。