1.数字证书的初目的是建立公销与用户之间的对应关系
由于公钥是随机产生的,从公钥不能直接判断属于哪个用户,为解决公钥和用户映射关系问题,PKI引入数字证书,来建立公钥与用户间的对应关系。
实际上,数字证书是一种特殊的文件格式,含用户身份和公钥信息,及CA私钥的数字签名,用户身份信息由姓名或名称,单位,城市,国家等组成,X.500标准规定了数字证书的具体格式。
因数字证书中含用户身份和公钥信息,由证书就可直接判断该公属于哪个用户,如某数字证书含用户信息“诸易亮”和公钥k,则可判断公钥PK就是诸易亮的。
因数字证书中有CA私钥的数字签名,用CA公钥解密数字证书中CA私钥的数字签名后,就能立即判断该数字证书是否被篡改,因此数字证书有防伪性,于是,数字证书中公钥和用户间对应关系也可信,当然,数字证书防伪性的前提是公钥算法和CA私钥都是安全的。
由于数字证书中不含秘密信息,因此证书可公开发布。
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证书的摘要值,用户通过核对该摘要值就能确认。
5.私钥
对公钥密码技术,公钥与私钥是成对出现的。公钥以数字证书形式存在,可公开,但私钥必须保密。为保证私钥的安全性,一般把它保存在硬件密码设备中(如个人私钥可保存在USB Key或IC卡中,系统私钥可保存在加密机或加密卡中),且不让私钥导出硬件密码设备;通过口令、指纹等来访问控制该硬件密码设备。若把私钥保存在硬盘文件中,则要通过口令加密保护,但私钥文件易被复制。
为保证私钥的唯一性,可只允许在硬件密码设备内产生公私钥对,通过硬件技术确保私钥不能导出,然后只导出公钥提交CA中心签发数字证书。