在简单证书注册协议(SCEP)中挑战密码的目的是什么?
我的理解是,它被用来验证设备。
我的问题是:它与使用公钥和私钥对进行身份验证有何不同?
发布于 2014-09-18 07:07:30
如果证书被泄露(私钥被盗等)该证书需要被撤销,因为它将继续有效,直到它的任期结束。
任何访问证书的管理员都可以撤销证书。如果在证书签名请求中指定了质疑密码,则在吊销证书之前将需要该密码。
因此,挑战密码的唯一目的似乎是防止没有密码的人撤销密码。
发布于 2014-09-18 09:33:51
在注册过程中使用质询密码(/may be)。如SCEP规范 (第2.3节)所述:
PKCS#10 RFC2986指定要作为注册请求的一部分发送的PKCS#9 RFC2985 challengePassword属性。SCEP客户端包含的challengePassword是可选的,允许未经身份验证的注册请求授权。PKCS#7 RFC2315信封保护挑战密码的隐私。 当使用challengePassword时,服务器将共享秘密分发给请求者,请求者将唯一地将注册请求与请求者关联。秘密的传播必须是秘密的:只有最终的实体才应该知道这个秘密。请求者和秘密之间的实际绑定机制取决于服务器策略和实现。
草案第2.5节规定:
challengePassword可用于自动授权请求。
SCEP草案第2.8节规定:
SCEP没有指定请求证书吊销的方法。
但是,当在注册过程中使用质疑密码时:
为了撤销证书,请求者必须使用非SCEP定义的机制与CA服务器操作员联系。尽管SCEP使用PKCS#10 RFC2986 challengePassword进行注册授权(请参阅注册授权(第2.3节)),但这并不妨碍CA服务器维护challengePassword的记录,以便按照RFC2985的指示在随后的撤销操作中使用。
发布于 2020-03-20 11:34:38
SCEP用于向设备(主要是在不受信任的网络中)颁发证书。管理员将生成挑战密码,并通过邮件将其发送给用户。SCEP服务器知道这个挑战密码。(我们可以要求SCEP Server生成一个挑战密码,并将其提供给管理员,由他与相应的人共享)。当设备使用此挑战密码请求SCEP服务器提供证书时,SCEP服务器可以验证挑战密码并颁发证书。
实际上,设备首先请求获得服务器的CA证书。它验证CA证书。然后设备在本地生成私钥和公钥,例如,iOS MDM代理就是这样做的。然后,向SCEP服务器发送CSR (证书签名请求),并提供询问密码。SCEP服务器验证挑战密码,现在用其私钥对设备的公钥进行签名。结果是证书。
参考资料:
https://stackoverflow.com/questions/25906189
复制相似问题