1.数字证书的最初目的是建立公钥与用户之间的对应关系
由于公钥是随机产生的,从公钥无法直接判断属于哪个用户。为解决公钥与用户映射关系问题,PKI引入数字证书,用于建立公钥与用户之间的对应关系。
数字证书实际是一种特殊的文件格式,包含用户身份信息、用户公钥信息和CA私钥的数字签名。用户身份信息由姓名或名称、单位、城市、国家等组成。X.509标准规定了数字证书的具体格式。
由于数字证书中包含用户身份信息和公钥信息,根据数字证书就可直接判断该公钥属于哪个用户。如某数字证书包含用户信息“诸葛亮”和公钥PK,则可判断公钥PK就是诸葛亮的。
由于数字证书中包含CA私钥的数字签名,使用CA公钥对数字证书中CA私钥的数字签名进行解密处理后,就可立刻判断该数字证书是否被篡改,因此数字证书具有防伪性,于是,数字证书中公钥和用户之间对应关系也值得可信。当然,数字证书防伪性的前提是公钥算法和CA私钥都是安全的。
由于数字证书中不包含秘密信息,因此数字证书可公开发布。
数字证书主要内容显示如图2-2所示,其中,“使用者”为用户身份信息,“公钥”为用户公钥信息,“有效期”属于附加策略。

图2-2 数字证书主要内容显示
2.数字证书可作为网络身份证
现实生活中,公安部为每人颁发一张二代身份证,身份证上包含姓名、性别、出生日期、省份、身份证号、照片等信息。当购票、住店、坐飞机时,身份证持有人(或持证人)只需出示身份证即可证明自己的身份。只有通过以下四个方面的合法性验证,才能完全确认持证人的合法身份:
(1)验证身份证是否伪造。需要专门的二代身份证读写设备来验证。
(2)验证身份证信息是否正确。需要查询身份证数据库,需要公安部门提供;也可由公安部门在发放身份证时保证。
(3)验证身份证是否与持证人一致。需要对比身份证上照片与持证人的长相。
(4)验证身份证是否在黑名单上。需要查询黑名单数据库,如公安部通缉犯清单,需要公安部门提供。
既然数字证书包含用户身份信息,而且具有防伪性且可以公开,那么数字证书持有人(或持证人)在网络世界中能否也像现实生活中一样,只需出示数字证书即可证明自己身份呢?答案是肯定的。如果能通过类似二代身份证的四个方面合法性验证,数字证书就可作为网络身份证。下面来确认一下,数字证书能否通过四个方面的合法性验证:
(1)验证数字证书是否伪造。可通过CA公钥验证。
(2)验证数字证书中信息是否正确。可由CA中心在签发数字证书时保证。
(3)验证数字证书是否与持证人一致。可要求持证人使用私钥对特定数据进行加密或签名,然后使用数字证书中的公钥来解密该数据或验签,从而可验证持证人是否持有与数字证书中的公钥对应的私钥。
(4)验证数字证书是否在黑名单上。可通过查询黑名单数据库来实现,但需要CA中心提供黑名单。
因此,数字证书作为网络身份证,可有效解决网络世界中“你是谁”的问题。由于数字证书采用公钥密码技术实现,从技术上保证了每个人“钥匙”的唯一性,既不重复也无法复制,所以数字证书比现实生活中的各种钥匙安全很多。
3.数字证书可附加很多策略
由于数字证书具有防伪性和公开性,因此数字证书中不仅可包含用户身份信息和用户公钥信息,而且还可以附加其他策略信息,这些信息同样具有防伪性和公开性。
X.509数字证书标准中规定常用策略信息主要包括:
(1)有效期。包括起始时间和终止时问。
(2)密钥用途。表示该公钥和私钥用于什么目的,如数据签名、数据加密、签发证书、用于安全电子邮件等。
(3)别名。包括持证人别名和CA中心别名。
(4)黑名单地址。
(5)是否CA中心的数字证书。如果是CA中心的数字证书,则规定能签发几级证书。
4.CA中心的数字证书
用户在验证数字证书是否被篡改时,必须首先获得CA中心的公钥。为方便用户识别CA中心的公钥,CA中心也为自己签发数字证书。该证书包含CA中心公钥、CA中心身份信息和CA中心私钥的签名。CA中心的数字证书有时也称作CA证书。
由于CA证书是验证其他证书合法性的前提和基础,所以CA证书的正确性至关重要。尽管可通过网络直接下载获取CA证书,但为避免被欺骗,需要通过其他方式验证CA证书的正确性。可通过电话方式、官方报纸或官方电视公布CA证书的摘要值,用户通过核对该摘要值即可确认该证书的正确性。
5.私钥
对于公钥密码技术,公钥和私钥是成对出现的。公钥以数字证书形式存在,可以公开,但私钥必须保密。为保证私钥的安全性,一般将私钥保存在硬件密码设备中(如个人的私钥可保存在USB Key或lC卡中,系统的私钥可保存在加密机或加密卡中),而且不允许私钥导出硬件密码设备:通过口令、指纹等方式来访问控制该硬件密码没备。如果将私钥保存在硬盘文件中,则需要通过口令进行加密保护,但私钥文件容易被复制。
为保证私钥的唯一性,可只允许在硬件密码设备内产生公私钥对,通过硬件技术保证私钥无法导出,然后只导出公钥提交CA中心签发数字证节。