数字证书是什么?数字证书如何获取和使用? 文章围绕数字证书的相关问题展开拓展,欢迎感兴趣的童鞋阅读。
在现代密码学中,非对称密码算法应用十分常见,银行卡、U盾以及网络通信中应用的https,都应用了非对称密码算法技术。
相对于对称密码算法,非对称密码算法的提出,在一定程度上可以简化密钥管理的难题,但由于非对称密码算法中的公钥在分发过程中可能被截取后篡改,接收方也无从核查接收到的公钥所对应私钥的持有者身份,因而引入了数字证书。
一、什么是数字证书
大学毕业时学校会颁发学位证书和学历证书;驾照考试通过后交管局会颁发机动车驾驶证书……相同的,个人身份认证通过之后,数字证书认证机构(Certificate Authority,简称CA)会颁发数字证书(也叫公钥证书)。
和学历证书、驾照相似,数字证书中包含个人信息,联系方式,以及个人公钥等信息,其中个人身份认证通过属于获取数字证书的前提条件,个人身份认证由CA(或专门用于对用户提供面对面的证书业务服务机构Registry Authority,简称RA)来完成,CA机构根据电子认证业务准则(CPS,Certification Practice Statement)的要求完成用户的个人身份认证。
二、数字证书的获取与使用
个人用户可自行生成一对公私钥对,将公钥发送给认证机构CA,CA确认用户身份之后,使用自身的私钥对个人用户的身份信息和公钥信息进行加密处理(签名)后形成数字证书,此时个人用户即获得了一张个人数字证书。
数字证书可建立公钥与用户之间的对应关系,通常应用在验证个人用户的数字签名中,也应用在对隐私信息的加密中。在应用层面,之所以引用数字证书而不直接应用个人用户的公钥,目的是通过可信任的认证机构CA对用户身份的认可,使个人用户的数字签名合法化,同时让第三方使用数字证书加密更加安全,避免中间人篡改公钥。
三、数字证书认证机构CA
数字证书认证机构(Certificate Authority,简称CA),也常见CA中心或证书认证中心等称呼,拥有自己的公钥和私钥,负责给用户签发数字证书。常见的数字证书认证机构有:国外的Verisign,国内的CFCA、BJCA、GDCA、天威诚信等。
CA签发数字证书具体过程如下:
(1)将用户身份信息和用户公钥信息,按照特定格式组成数据D。
(2)使用哈希算法对数据D进行计算得到摘要值H。
(3)使用CA自身私钥对摘要值H进行签名得到数字签名S。
(4)将用户身份信息、用户公钥信息和数字签名S,按照特定格式(如X.509)组成数字证书。
CA 不仅负责给用户签发数字证书,还需要履行对数字证书的全生命周期管理职责,CA主要职责包括:
(1)数字证书的签发和更新。对新用户签发数字证书;在老用户有需要时,对其更新数字证书。
(2)数字证书的状态变更,包括:吊销、挂失、解挂等。证书吊销后将成为无效证书,永远不能使用;证书挂失后将成为无效证书,但可以通过解挂恢复成有效状态。
(3)数字证书的查询及下载。CA对外提供公开的查询及下载服务,允许用户根据条件随时查询证书并下载。常用服务方式为LDAP, LDAP是Light weight Directory AccessProtocol(轻型目录访问协议)的缩写。CA系统通过LDAP机制对外发布所有证书及CRL。用户端可以通过LDAP协议访问LDAP服务器,按需下载满足条件的证书和CRL。
(4)数字证书状态查询。提供公开服务方式,允许用户随时查询证书状态,以便判断该证书是否处于有效状态。常用服务方式有CRL和OCSP。
四、数字证书状态查询
如果用户的个人数字证书已经处于非正常状态(过期、吊销、冻结等),CA将通过CRL、OCSP等方式告知正在进行签名验证的第三方。
CRL是Certificate Revocation List的缩写,表示证书吊销列表。CA或CRL签发者定期签发并发布CRL,并在CRL中指明下次签发的最晚时间。因CRL为定期发布,存在用户证书已临时挂失,但CRL状态未及时发布的情况,此时第三方进行签名验证仍是可以通过的。
OCSP是Online Certificate Status Protocol的缩写,表示在线证书状态协议。CA系统通过OCSP机制为用户提供在线证书状态查询服务。用户端将待查询证书序列号按照OCSP协议组织成OCSP请求包,然后将OCSP请求包发送给OCSP服务器,OCSP服务器查询数据库获得该序列号对应证书的状态,并组织成OCSP响应包后返回给用户端。用户端解析OCSP响应包后获得该证书的当前状态。相对比与CRL方式,OCSP查询的数字证书状态更为准确。
SOCSP是Simple Online Certificate Status Protocol的缩写,表示简化版在线证书状态协议。由于OCSP请求包和响应包需要数字签名,从而导致其执行效率不高。为提高OCSP的响应速度,采用MAC算法代替数字签名,形成简化版的OCSP。
五、双证书
如果用户的私钥不慎丢失,将造成公钥加密后的数据无法解密,为解决用户私钥的备份问题,CA采用KMC(Key Management Center,密钥管理系统)提供用户私钥备份服务,用户可自行选择将私钥进行安全备份,需要时进行恢复。也可由KMC生成用户公钥和私钥,而后KMC将私钥备份并交给用户。
私钥备份存在如下矛盾:用户私钥应具备唯一性,否则无法证明用户身份是否被冒用;但若无私钥备份服务,用户私钥不慎丢失,公钥加密后的数据将无法解密,可能造成重要信息丢失的问题。
为解决上述矛盾,CA引入了双证书机制(签名证书和加密证书)。签名证书的私钥只用于签名,签名证书的公钥只用于验签,不用于加密信息,签名证书的公私钥对必须由用户自己产生,KMC 不备份签名私钥。加密证书的公钥只用于加密信息,加密证书的私钥只用于解密信息,不用于签名,加密证书的公私钥对由KMC产生,且KMC对加密私钥进行备份。