概念详解参考:cloud.tencent.com/developer/n…
developer.baidu.com/resources/o…
对称密钥和非对称密钥
名词解释:
加密算法一般分为两种,对称加密和非对称加密。所谓对称加密(也叫密钥加密,秘钥解密)就是指加密和解密使用的是相同的密钥。而非对称加密(也叫公钥加密,私钥解密)就是指加密和解密使用了不同的密钥。
- 非对称加密的典型应用是数字签名,非对称加密CPU 计算资源消耗非常大、非对称加密算法对加密内容的长度有限制,所以公钥加密目前只能用来作密钥交换或者内容签名,不适合用来做应用层传输内容的加解密。
- 对称秘钥:非对称密钥交换过程结束之后就得出了本次会话需要使用的对称密钥,有计算速度较快,效率较高,占用资源空间较少等优点,但安全性较低
总结:
非对称加密应用是数字签名,对称秘钥对内容加密
数据一致性校验过程 --- 数字签名(普通信息与CA证书流程同)
- 生成加密数据
- 先用Hash函数,生成信件的摘要(digest)
- 对这个摘要加密,生成"数字签名"(signature)
- 将这个签名,附在信件下面,一起发给用户
- 校验
- 用户用公钥解密“数字签名”,得到信件的摘要A
- 用户用Hash函数,生成信件的摘要B
- 摘要A == 摘要B,验证OK
核心问题:公钥不被篡改
解决方案:
- 信件中加入数字证书(CA证书)
- CA证书如何保证自己的数据一致性,即CA公钥的可信任。
- CA公钥的可信任:因为这些厂商跟浏览器和操作系统都有合作,它们的公钥都默认装到了浏览器或者操作系统环境里。比如 firefox 就自己维护了一个可信任的 CA 列表,而 chrome 和 IE 使用的是操作系统的 CA 列表
过程详解:
- 证书申请者首先会生成一对密钥,包含公钥和密钥,然后把公钥及域名还有 CU 等资料制作成 CSR 格式的请求发送给 RA,RA 验证完这些内容之后(RA 会请独立的第三方机构和律师团队确认申请者的身份)再将 CSR 发送给 CA,CA 然后制作 X.509 格式的证书。
- 申请者拿到 CA 的证书并部署在网站服务器端,当浏览器发起握手接收到证书。
- 信件在包含数字签名的同时,再附上数字证书(CA证书 Digital Certificate)。
- 收到信件后,用CA的公钥解开数字证书,就可以拿到申请者的公钥了,就保证了“公钥”的正确性
https认证分位单向认证和双线认证
https://www.cnblogs.com/yaowen/p/10448603.html