属性证书和访问管理
信息安全
证书
访问控制
授权
x.509
2021-08-17 18:23:04
2个回答
在现实生活中,属性证书不起作用。没有人真正支持他们。原因之一是,根据定义,证书是信息的异步分发方法:证书将一些值绑定在一起(对于“普通”证书,这是名称和公钥;对于属性证书,持有者名称绑定到属性值)并且绑定是可验证的,无需与中央在线存储库对话。这就是证书上的加密签名的含义:允许离线或至少半离线验证。
离线验证的另一面是无法立即取消证书。有撤销,但它本质上是异步的:当证书被撤销时,它会在几小时或几天内生效(取决于生成 CRL 的频率)。异步正是你不想要的授权:如果你因为怀疑有恶意活动而想阻止某人,你想现在就做,而不是下周。
可以通过让所有客户端每次都获得新的吊销信息,通过与 OCSP 服务器通信来进行同步吊销,但这会首先消除您想要证书的原因。使用证书的全部目的是避免每次需要一些授权信息时都必须与在线服务器通信。
所以,基本上,证书和授权不能很好地混合。这使得用于授权的 RFC 5755 属性证书毫无用处。相应地,它们的使用并不多。
RFC 5755中的介绍解释了属性证书的预期用途。我在这里复制一些文字:
有些人经常混淆 PKC 和 AC。一个类比可以使区分变得清晰。PKC 可以被视为像护照一样:它识别持有人,往往会持续很长时间,并且不应该是微不足道的。AC 更像是入境签证:它通常由不同的机构签发,并且不会持续很长时间。由于获得入境签证通常需要出示护照,因此获得签证可能是一个更简单的过程。
在 Web 应用程序中,您仍然需要 PK 证书来进行用户身份验证,而属性证书将提供授权/访问管理。用户必须同时呈现两者才能连接到应用程序。
阅读 RFC 5755 将揭示一些其他用例。确实,采用速度很慢,通过在线搜索可以找到很多示例,但是安全应用程序正在使用属性证书。