
# 设备安全认证
设备接入设备发放和接入平台之前，需要通过身份认证。当前，物联网平台支持密钥认证和X.509证书认证两种认证方式进行设备身份认证。
#### 密钥认证
创建设备时，认证方式选择密钥认证，用户为设备指定或者平台自动生成设备密钥。设备接入平台时，携带密钥（为避免密钥在通信链路中直接传输，实际传输值为密钥衍生内容，衍生方式参见[MQTT CONNECT连接鉴权](https://support.huaweicloud.com/qs-iotps/iot_03_0003.html)章节中的Password参数说明）。
#### X.509证书认证
X.509是一种用于通信实体鉴别的数字证书，物联网平台支持设备使用自己的X.509证书进行认证鉴权。使用X.509认证技术时，设备无法被仿冒，避免了密钥被泄露的风险。
使用X.509证书认证的完整操作流程为：
1. 在平台上传设备CA证书并完成验证（或使用华为云证书服务的私有CA）；
2. 创建设备或注册组时，认证方式选择X.509证书认证，并关联已认证的设备CA证书；
3. 开发设备端，将X.509证书及其私钥烧录到设备上；
4. 设备在与平台双向认证过程中，设备验证平台证书，平台使用设备CA证书验证设备证书并验证设备证书与设备的关联关系。
#### X.509双向证书认证
X.509证书双向认证过程，涉及到设备发放（平台）和设备两端，过程如下图所示。
图1X.509双向证书认证   
![](https://support.huaweicloud.com/qs-iotps/figure/zh-cn_image_0000001231036884.png "点击放大")
双向证书认证过程中使用到了如下几类证书：
表1证书类型列表 
| 证书                   | 说明                                                                                                                               | 证书及其私钥持有者 | 签发者                |
|:---|:---|:---|:---|
| 服务端证书                | 步骤2中，设备发放设备侧将该证书返回设备。                                                                                                            | 设备发放设备侧持有 | 权威CA（服务端证书的CA证书）签发 |
| 服务端CA证书              | 步骤3中，客户端使用该服务端CA证书验证服务端证书，通常为权威CA证书，获取方式见[MQTT CONNECT连接鉴权](https://support.huaweicloud.com/qs-iotps/iot_03_0003.html#section0)。 | 权威CA机构持有  | 权威CA机构签发           |
| 设备证书（客户端证书）          | 步骤4中，设备将该证书发送给设备发放设备侧。                                                                                                           | 设备        | CA证书               |
| CA证书（设备CA证书/客户端CA证书） | 步骤5中，设备发放设备侧使用该CA证书验证来自设备的客户端证书。用户通过应用侧上传该证书到设备发放平台。                                                                             | 用户        | 通常为自签发             |
   
![](https://support.huaweicloud.com/qs-iotps/public_sys-resources/note_3.0-zh-cn.png)
双向认证，即双向证书认证，与单向认证中不同的是，不仅包含单向认证中的设备对平台的证书验证步骤，还包含了平台对设备的证书验证步骤。
