调研报告:OCSP协议

标签:无 562人阅读 评论(0)

OCSP协议调研

1. OCSP概念

l  在线证书状态协议(OCSP)是一个互联网协议,用于获取符合X.509标准的数字证书的状态(来源于:RFC6960

l  功能:在公钥基础设施(PKI)体系中替代证书吊销列表(CRL)来查询数字证书的状态

l  消息类型分为“请求消息”和“响应消息”,因此 OCSP 服务器被称为OCSP响应端

l  数字证书状态交互消息包括下述两条:

Function

Allication

Purpose

OCSP Request

OCSP client

Request for the revocation status of a certificate

OCSP Response

OCSP response

Provide the revocation status of a certificate

l  OCSP Request消息包含以下数据:

l  协议版本

l  服务请求

l  目标证书标识

l  可能被OCSP响应器处理的可选扩展

2. OCSP 检测流程

浏览器在获得Web服务器的公钥证书后,开始验证公钥的合法性,这里会向该公钥的扩展信息中提供的OCSP Server地址发送OCSP Response,获得响应后,确认证书有效,再继续跟Web服务器通信。

图片 1.png

3. 基本PKI场景

l  Alice和Bob使用Ivan颁发的数字证书。该场景中Ivan是数字证书认证中心(CA)

l  Alice向Bob发送其由Ivan颁发的数字证书,并发出请求建立连接的申请

l  Bob担心Alice的私钥已经泄露,因此向Ivan发送’OCSP request’ 消息并包含Alice的数字证书序列号

l  Ivan的OCPS响应端从Bob发送的消息中获取数字证书的序列号,并在CA数据库中查找该数字证书的状态

l  Ivan向Bob发送由其私钥加密的消息’OCSP response’,并包含证书状态正常的信息

l  由于Bob事先已经安装了Ivan的数字证书,因此Bob使用Ivan的公钥解密消息并获取到Alice的数字证书状态信息。Bob决定与Alice进行通信

图片 1.png

4. OCSP 的优/缺点

l  优点:

l  相对于CRL方式,证书吊销后,CA Server可以立刻将吊销信息发送给浏览器,生效时间快

l  缺点:

l  浏览器的每次HTTPS请求创建,都需要连接CA OCSP Server进行验证。同时,OCSP的验证有网络IO,花费了很长的时间,严重影响了浏览器访问服务器的用户体验

l  在浏览器发送服务器HTTPS证书序号到CA OCSP Server时,也将暴露了用户的隐私,将用户访问的网址透漏给了CA OCSP Server

5. OCSP Stapling

l  OCSP Stapling的方案是解决了CRL、OCSP的缺点,将通过OCSP Server获取证书吊销状况的过程交给Web 服务器来做,Web 服务器不光可以直接查询OCSP信息,规避网络访问限制、OCSP服务器离用户的物理距离较远等问题,还可以将查询响应缓存起来,给其他浏览器使用。由于OCSP的响应也是具备CA RSA私钥签名的,所以不用担心伪造问题。

l  解决了访问慢的问题

l  解决了用户隐私泄露的问题

 

l  目前支持该扩展的证书的CA厂商有Let's Encrypt。如果使用的是openssl 1.1.0 以前的版本,可以使用11.3.6.1.5.5.7.1.24 = DER:30:03:02:01:05 来指定。RFC比如生成csr的时候,在openssl.cnf中增加:

图片 1.png

l  如果是使用openssl 1.1.0或更高的版本,可以这样设置:

图片 1.png

6. OCSP机制衍生出来的问题

l  如果浏览器在检查证书吊销状态时,得不到OCSP server的响应,会采取两种方式:

l  Hard-fail:拒绝该证书信息,并且拒绝后续的HTTPS通讯

l  Soft-fail:信任该证书,认为没有被吊销

l  如果是hard-fail模式,那浏览器对任何HTTPS服务器访问的先决条件都取决于OCSP Server,这将是一个致命的单点故障

l  如果是soft-fail模式,取不到OCSP Server的响应就忽略了,协议采取的机制无法生效

7. OCSP Must-Staple

l  面对hard-fail、soft-fail的问题,各家浏览器厂商的态度都不一样。同时,不管浏览器如何选择,都不能满足广大域名用户的需求,那么不如把这个选择交给域名用户自己。

l  为此,OCSP Must-Staple应然而生了,浏览器必须检测OCSP响应。域名证书创建时,自定义设定启用这个选项,将这个信息打入X.509 v3的扩展中,浏览器读取后,强制进行OCSP检测,走hard-fail模式。

l  这个规范被起草在 X.509v3 Extension: OCSP Stapling Required draft-hallambaker-muststaple-00 ,不过,暂未被采纳为RFC标准。


8. 证书吊销机制简介

证书吊销的策略一般有三种:pull-based(CRL,OCSP),push-based 和 network-assisted:

类别

特征

优点

缺点

pull-based

撤销状态请求仅在需要验证证书时发生

随用随请求,不占用缓存

1.显示客户端流量模式,暴露客户端隐私

2.受网络状况影响

push-based

撤消策略的客户端会定期定期下载撤消信息

不会显示客户端流量模式

1.依赖缓存状态信息
2.收集的证书吊销状态信息多于所需数量

network-assisted

修改了TLS生态系统以解决撤销问题

各有不同

各有不同

 

9. 相关论文

l  An End-to-End Measurement of Certificate Revocation in the Web‘s PKI(IMC 2015)

l  本文测量了浏览器关于证书吊销的行为——WEB端和移动端

图片 1.png

l  Trust Revoked — Practical Evaluation of OCSP- and CRL-Checking Implementations(IMC 2018)

l  本文旨在测量WEB组件对于OCSP Must-Staple的支持程度

l  比较了到达或阻止OSCP时测试的浏览器的反应

图片 1.png



更加详细信息请联系本人获取。


查看评论

暂无评论

发表评论
  • 评论内容:
      
首页
团队介绍
发展历史
组织结构
MESA大事记
新闻中心
通知
组内动态
科研成果
专利
论文
项目
获奖
软著
人才培养
MESA毕业生
MESA在读生
MESA员工
招贤纳士
走进MESA
学长分享
招聘通知
招生宣传
知识库
文章
地址:北京市朝阳区华严北里甲22号楼五层 | 邮编:100029
邮箱:nelist@iie.ac.cn
京ICP备15019404号-1