公钥认证方法

1976年,Diffie和Hellman提出了公钥密码体制,解决了对称密码体制中最难解决的两个问题:密钥分配和数字签名。在公钥密码体制中,每个用户拥有两个密钥:公钥和私钥,其中只有私钥由用户秘密保存,公钥可以由一个证书权威(certificate authority,CA)保存在一个公钥目录中。然而,公钥密码体制容易公钥替换攻击,即攻击者用自己选定的假公钥替换公钥目录中真实的公钥。当一个用户用这个假公钥加密一个消息时,这个攻击者就可以截获消息并正确解密。为了抵抗公钥替换攻击,需要让用户的公钥以一种可验证和可信任的方式与用户的身份信息关联起来。目前,认证用户的公钥有三种方法:基于公钥基础设施(public key infrastructure,PKI)的方法、基于身份的方法和基于自证明的方法。事实上,可以根据公钥认证方法的不同,把公钥密码体制分为基于PKI的公钥密码体制、基于身份的公钥密码体制和基于自证明的公钥密码体制。下面解释这三种密码体制的特点。

1.基于PKI的公钥密码体制

每个用户的公钥都伴随一个公钥证书,这个公钥证书由CA签发。公钥证书是一个结构化的数据记录,它包括了用户的身份信息、公钥参数和CA的签名等。任何人都可以通过验证证书的合法性(CA的签名)来认证公钥。如果一个用户信任CA,那么在他(她)验证了另一个用户证书的有效性后,他(她)就应该相信公钥的真实性。这就是公钥基础设施。但是这种方法有两个缺点:

(1)使用任何公钥前都需要先验证公钥证书的合法性,增加了用户的计算量。

(2)CA需要管理大量的证书,包括证书的颁发、存储和撤销等。

2.基于身份的公钥密码体制

为了简化密钥管理,Shamir于1984年首次提出了基于身份的密码体制(identity-based cryptography,IBC)的概念。在基于身份的密码体制中,用户的公钥可以根据用户的身份信息(如姓名、身份证号码、电话号码、Email地址等)直接计算出来,用户的私钥则是由一个称为私钥生成中心(private key genarator,PKG)的可信方生成。基于身份的密码体制取消了公钥证书,减少了公钥证书的存储和合法性验证。但是,基于身份的密码体制有一个致命的缺点,即所有用户的私钥都由PKG生成。PKG知道所有用户的私钥会不可避免地引起密钥托管问题。因此,PKG可以容易地冒充任何用户且不被发现。在一个基于身份的加密(identity-based encryption,IBE)体制中,PKG可以解密任何一个密文;在一个基于身份的签名(identity-based signature,IBS)体制中,PKG可以伪造任何一个消息的签名。自1984年以来,相继提出了许多实用的基于身份的签名体制,但一个满意的基于身份的加密体制直到2001年才被找到。这个体制是由Boneh和Franklin利用超奇异椭圆曲线上的双线性配对(Weil配对或Tate配对)设计的。

3.基于自证明的公钥密码体制

1991年,Girault提出了自证明公钥(self-certified public key)的概念。在基于自证明的公钥密码体制中,用户的公钥是从CA对该用户的私钥与身份的签名中推导出来。也就是说,CA与用户合作产生公钥,但CA并不知道用户的私钥。用户的公钥不必有单独认证的证书,公钥的认证同接下来的一些密码协议(如密钥交换协议、签名、加密等)一起完成。例如,认证签名者的公钥与验证此人的签名在一个验证等式中完成。如果验证等式成立,那么公钥和签名将被同时验证。在计算量和通信成本方面,自证明公钥具有以下优点:

(1)由于不需要证书,降低了存储空间和通信成本。

(2)不需要公钥验证,减少了计算量。

与基于PKI的公钥密码体制相比,由于不需要维护公钥证书目录,基于自证明的公钥密码体制更加高效。与基于身份的公钥密码体制相比,由于CA并不知道用户的私钥,因此基于自证明的公钥密码体制更加安全。自Girault提出自证明公钥的概念以来,相继提出了许多实用的基于自证明公钥的签名。2003年,AI-Riyami和Paterson提出了无证书公钥密码体制(certificateless public key cryptography),在本质上与基于自证明的公钥密码体制是相同的。

基于配对的密码体制可以根据公钥认证方法分成基于PKI的密码体制、基于身份的密码体制和无证书密码体制。

你可能感兴趣的:(公钥认证方法)