密码学中的X.509标准与零知识证明
1. X.509标准概述
X.509标准是国际电信联盟(ITU)制定的,最初是为了实现对数据库记录的授权读写访问,不过如今它在电子商务领域的公钥基础设施(PKI)中最为知名。该标准定义了证书颁发机构(CA),CA负责为用户颁发证书。这些证书基于ASN1语法,包含多个记录,部分记录是必需的,而有些则是可选的。最初的规范范围较为有限,目前常用的是版本3。
CA是离线机构,每个CA连接到一个或多个注册机构(RA),证书会在目录中提供。最初的设置是X.500分布式数据库,并且预期实现全球设置,通过所谓的证书路径,CA之间可以相互识别。这样一来,只要不是由同一个CA进行认证,任意两个注册用户都能够通过适当的证书路径访问对方的公钥。
然而,该标准也存在一些弱点。例如,它规定使用黑名单(即撤销列表),但这些撤销列表仅在离散的时间点更新。因此,当一个用户收到另一个用户的有效证书时,他无法确定该证书是否在这期间已被撤销,尽管证书看起来仍然有效。
此外,在实际应用中,还有一个重要的点常常被忽略:除非架构提供独立的时间戳,否则无法实现不可抵赖性。具体来说,如果一个签名消息是基于有效的数字签名和有效证书被接受的,而涉及的公钥后来被其所有者撤销,那么除非验证者能够证明他在公钥被撤销之前就已经收到了有效的签名和证书,否则该签名消息对验证者可能不再有任何价值。验证者可以通过在撤销之前的任意时间点,从时间戳机构获取该消息哈希值(见哈希函数)的签名,并附上时间戳来证明。
2. 零知识证明的概念
零知识是交互式证明、交互式论证和非交互式证明所具有的一种属性。由于可靠性属性保护验证者的利益,零知识属性则保护证明者的利
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



