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。
使用说明
操作步骤
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
- 在左侧导航栏中选择
,进入设备证书页面选择对应CA证书,单击“OCSP验证”开启校验。图2 设备CA证书-开启OCSP验证
- 返回设备接入控制台选择对应实例,单击“详情”进入实例详情页面,单击“更新证书”开启OCSP装订。
图3 实例管理-开启OCSP装订
- 开启OCSP装订签名证书链必须包含上层CA证书。
- 开启OCSP签名证书信息中必须包含ocsp url扩展字段。
- 使用MQTT模拟器连接平台,查看平台证书OCSP装订信息,使用抓包工具在本地抓取设备建链TLS握手报文,查看平台证书OCSP响应。
图4 TLS-Certificate Status
客户端Client Hello报文中需要携带status_request扩展字段服务端才会返回Certificate Status。
- 在左侧导航栏中选择
,选择对应设备,单击 ,使用MQTT模拟器证书双向认证,设备端使用已吊销证书,查看消息跟踪错误详情。图5 设备证书-已吊销
图6 消息跟踪-OCSP校验失败详情