http协议:五 (3)数字签名与证书

1、摘要算法用来实现完整性,能够为数据生成独一无二的“指纹”,常用的算法是 SHA-2;

2、数字签名是私钥对摘要的加密,可以由公钥解密后验证,实现身份认证和不可否认;

3、公钥的分发需要使用数字证书,必须由 CA 的信任链来验证,否则就是不可信的;

4、作为信任链的源头 CA 有时也会不可信,解决办法有 CRL、OCSP,还有终止信任。

 

机密性:靠混合加密解决,非对称加密实现对称加密秘钥传递,对称加密实现内容加密。

完整性:靠摘要算法解决。
身份认证:靠数字证书解决,数字证书因为CA机构的信任变成一个完整信任链条,从而实现通过数字证书证明了对方真实身份,但注意身份真实也可能是挂羊头卖狗肉,是一个坏人,所以,有了CRL、OCSP,还有终止信任。
不可否认:靠数字签名解决,内容摘要算法得到摘要,私钥加密摘要,对方使用对应公钥解密,得到摘要,再和自己得到的服务器提供的原文摘要对比,一致说明这个内容就是原服务器提供的,由证书说明了服务器的身份。

关于证书验证:
服务器返回的是证书链(不包括根证书,根证书预置在浏览器中),然后浏览器就可以使用信任的根证书(根公钥)解析证书链的根证书得到一级证书的公钥+摘要验签,然后拿一级证书的公钥解密一级证书拿到二级证书的公钥和摘要验签,再然后拿二级证书的公钥解密二级证书得到服务器的公钥和摘要验签,验证过程就结束了。

 

↓ 对称加密(有密钥交换的问题)
↓ 非对称加密(基于复杂的数学难题,运行速度很慢)
↓ 混合加密(怎么保证完整性?不被修改?)
↓ 摘要算法(无法保证是用户自己)
↓ 数字签名(公钥怎么保证安全正确的?)
↓ 数字证书、CA

 

问题

1、为什么公钥能够建立信任链,用对称加密算法里的对称密钥行不行呢?

2、假设有一个三级的证书体系(Root CA=> 一级 CA=> 二级 CA),你能详细解释一下证书信任链的验证过程吗?

http协议:五 (3)数字签名与证书

上一篇:Exchange2016上传个人图像


下一篇:kubernetes第3天