单证书

用户使用唯一的证书及对应的私钥进行签名和加密操作。通常国际上使用一张证书实现加

密和签名。

签名时:用户A(简称A)使用自己的私钥加密信息的摘要,即签名操作;用户B(简称

B)使用A的公钥进行解密,对比该摘要是否正确,若正确,则B就确定了A的身份,即

验签成功。

加密时:A用B的公钥将信息加密传递给B,B使用自己的私钥解密,进而获得信息。

双证书

包括签名证书和加密证书。在我国,需要将加密及签名功能区分,对于订户而言即同时

拥有加密及签名双证书。

签名时:签名证书仅仅用来验证身份使用,其公钥和私钥均由A自己产生,并且由自己

保管,CA不负责其保管任务。

加密时:加密证书在传递加密数据时使用,其私钥和公钥由CA产生,并由CA保管(存

根)。

既然单证书可以搞定一切,为何要使用双证书?

逻辑

单证书:如果私钥丢了,你如何恢复之前得到的信息呢?

双证书:如果签名私钥遗失,用户再产生一对即可,影响不大,因此签名密钥没

必要交给CA;如果加密密钥遗失,别人发过来的信息我就没办法解密了,必须从

CA那里获取存根。

因此从逻辑上,两个密钥具有不同的属性,应该分开处理。

安全性

单证书增加了用户签名被伪造的风险。

国家意志

国家要保证必要时有能力对某些通讯进行监控,如果采用单证书,除了自己谁也无法解密

(理论上),不利于国家安全。因此很多国家法律规定使用双证书。

双证书签发流程

虽然是双密钥和双证书,但从流程上,一遍流程即可搞定。

1.用户产生签名密钥对,发送证书请求给RA/CA(请求中包含1个公钥)。

2.RA/CA向KMC请求加密密钥对。

3.签发两张证书,连同加密密钥一起发送给用户(采用签名证书加密)。

4.用户使用自己的签名私钥解密,获得双证书及加密密钥。