没有OCSP(在线证书状态协议)可以返回证书状态吗

问题描述 投票:0回答:2

我使用Node.js和一些支持RSA签名,验证和生成X.509的加密库创建了证书颁发机构服务器。当我使用在线证书状态协议(OCSP)添加证书吊销功能时,我想到了为什么我必须发送请求并接收OCSP的响应,因为只有我想知道的不是OCSP请求/响应对象而只是证书状态(好或被撤销。)

是否有意义请求不是OCSP响应对象(.PEM或其他),而是证书状态值,如HTTP状态代码(200:OK,400:NOT FOUND)?

x509 pki ocsp
2个回答
2
投票

OCSP(在线证书状态协议)是一种标准协议,用于获取由RFC6960管理的证书的当前状态

该协议定义了互换的消息,包括内容,编码,内容类型和HTTP响应代码。

如果你想构建一个通用的PKI,那么定义你自己的协议是没有意义的,因为没有当前的客户端会使用它(浏览器,移动设备,软件工具等),但是希望你有一个标准的OCSP服务。

但是,如果您要为内部PKI构建自己的客户端工具,那么拥有一个非常简单的状态查询服务(例如,200 GOOD,401 REVOKED,404 UNKNOWN)可能会很有用。但在这种情况下不要称之为OCSP


1
投票

OCSP使用CA签名的对象进行响应的原因是,依赖方知道该对象,因此证书状态是可信的。

如果您的新状态服务收到“序列号为123456789的证书状态是什么”的查询并返回简单的HTTP响应,则客户端将无法验证该响应;使得替换攻击变得非常简单并且在实际上证书的私钥被泄露并且应该发送401 REVOKED时发出200 GOOD响应。

您无法通过HTTPS响应来解决这个问题,因为这将导致永久递归状态检查。

如果状态服务器的证书由不使用您的协议的CA颁发,而是使用OCSP或CRL分发点等替代方案,则可以使用HTTPS。但这只会使整个解决方案变得更加复杂,而不是简化状态检查问题。

© www.soinside.com 2019 - 2024. All rights reserved.