更新时间:2024-12-30 GMT+08:00
分享

MQTT(S)协议-OCSP与OCSP装订

概述

OCSP是在线证书状态协议(Online Certificate Status Protocol)的缩写,OCSP在传输安全层(TLS)握手期间检查证书吊销状态,对证书进行实时验证,与传统的证书吊销列表(CRL)相比,CRL更新频率较低,文件更大,而OCSP扩展性更强,响应更小更快,更具有实时性,更适合公开密钥基础架构(PKI)。

名词解释

OCSP校验:本文统一指定为物联网平台对设备侧证书的有效性校验。

OCSP装订(OCSP Stapling):也称服务端OCSP,是TLS证书状态查询扩展,作为在线证书状态协议的替代方法对X.509证书状态进行查询,服务器主动检查自身证书状态,在TLS握手时发送已缓存的OCSP响应,用户只需验证该响应的时效性而不用再向数字证书认证机构(CA)发送请求,可以加快握手速度。

使用场景

  • OCSP装订:用于设备侧对服务器证书状态校验,OCSP装订会持续检查服务器证书的吊销状态。
  • OCSP校验:用于证书认证的设备,平台对设备证书状态校验,检查设备证书是否已经被CA机构吊销。

约束与限制

  • 仅企业实例支持该功能。
  • 开启OCSP校验后,设备第一次连接平台由于平台要向OCSP服务器发请求,可能会导致建链时长变长,属正常现象,后续建链不受影响。
  • 平台对OCSP服务器的响应缓存时长为24小时。
  • 平台对OCSP服务器响应限制超时时间为5秒,响应大小不超过4k。

使用说明

图1 OCSP工作流程

操作步骤

  1. 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
  2. 在左侧导航栏中选择设备 > 设备证书,进入设备证书页面选择对应CA证书,单击“OCSP验证”开启校验。

    图2 设备CA证书-开启OCSP验证

  3. 返回设备接入控制台选择对应实例,单击“详情”进入实例详情页面,单击“更新证书”开启OCSP装订。

    图3 实例管理-开启OCSP装订
    • 开启OCSP装订签名证书链必须包含上层CA证书。
    • 开启OCSP签名证书信息中必须包含ocsp url扩展字段。

  4. 使用MQTT模拟器连接平台,查看平台证书OCSP装订信息,使用抓包工具在本地抓取设备建链TLS握手报文,查看平台证书OCSP响应。

    图4 TLS-Certificate Status

    客户端Client Hello报文中需要携带status_request扩展字段服务端才会返回Certificate Status。

  5. 在左侧导航栏中选择设备 > 所有设备,选择对应设备,单击详情 > 消息跟踪 > 启动消息跟踪,使用MQTT模拟器证书双向认证,设备端使用已吊销证书,查看消息跟踪错误详情。

    图5 设备证书-已吊销
    图6 消息跟踪-OCSP校验失败详情

相关文档