单证书
用户使用唯一的证书及对应的私钥进行签名和加密操作。通常国际上使用一张证书实现加
密和签名。
签名时:用户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.用户使用自己的签名私钥解密,获得双证书及加密密钥。