1、什么是单证书和双证书?
单证书:
用户使用唯一的证书及对应的私钥进行签名和加密操作。
数字签名时,A用户使用自己的私钥加密信息的摘要(签名),B用户使用A的公钥进行解密,对比该摘要是否正确,若正确,则B就确定了A的身份,即验签成功。私钥加密公钥解密为数字签名
加解密时,A用户用B的公钥将信息加密传递给B,B使用自己的私钥解密,进而获得信息。
图为私钥加密过程
图为公钥解密过程
- 单证书的缺点:
- 数据恢复:当证书丢失,过期,或者销毁后,无法解密用此证书加密的数据。
- 信息监控:对于中央政府来说,为了加强对贸易活动的监管,打击犯罪,存在对信息进行监控的需要,但经过证书加密的数据中央政府几乎无法解密。
双证书:
包括签名证书和加密证书。
签名证书在签名时使用,仅仅用来验证身份使用,其公钥和私钥均由A自己产生,并且由自己保管,CA不负责其保管任务。 签名证书:提供签名服务,不提供加密服务。为了保证唯一性,签名证书不能做备份,丢失了就只能重新申请证书。
加密证书在传递加密数据时使用,其私钥和公钥由CA产生,并由CA保管(存根)。加密证书:提供加密服务,不提供签名服务。
双证书中的签名密钥对是用户自己生成的,把签名密钥对里面的签名公钥证书请求文件发送给CA,由CA对签名公钥生成一份签名证书,但是签名私钥只有用户自己才有。
2、既然单证书可以搞定一切,为何要使用双证书
- 逻辑上:
如果签名私钥遗失,大不了用户再产生一对,并无多大影响,因此签名密钥没必要交给CA;
如果加密密钥遗失,别人发过来的信息我就没办法解密了,必须从CA那里获取存根。
单证书的话,如果私钥丢了,你如何恢复之前得到的信息呢?
因此从道理上来说两个密钥具有不同的属性,逻辑上应该分开处理。
- 安全性上:
单证书增加了用户签名被伪造的风险
- 国家意志:
国家要保证必要的时候有能力对某些通讯进行监控,如果采用单证书,除了自己谁也无法解密(理论上啦),不利于国家安全。因此很多国家法律规定使用双证书。
3、密钥托管是什么
对加密证书密钥对进行托管。
4、密钥托管能解决什么问题
- 数据恢复:加密密钥对可以从托管中心恢复,从而解密数据。
- 信息监控:中央政府可以从托管中心获得加密密钥对,从而监控信息。
5、双证书签发流程:
虽然是双密钥和双证书,从流程上来看,一遍流程即可搞定。
1,用户产生签名密钥对,发送证书请求给RA/CA(请求中包含1个公钥)
2,RA/CA向KMC请求加密密钥对
3,签发两张证书,连同加密密钥一起发送给用户(采用签名证书加密)
4,用户使用自己的签名私钥解密,获得两张证书+加密密钥。