ssl

四次握手=>协商算法

算法被拦截篡改风险=>摘要算法=>签名

 

加密算法+摘要+摘要算法

 

 

客户端 持摘要算法验证 加密算法 是否被篡改

 

1.443请求加密算法

通用加密算法名+秘钥

 

秘钥非对称加密

私钥+公钥

公钥加密

私钥解密

公钥提前埋

服务器:私钥->数据->加密->密文->公钥->原文

浏览器:公钥->加密->密文->私钥->原文

公钥不能解公钥,

中间人拦截公钥解开后,可生成新的一对公私钥给另一方,这样与另一方用新的公私钥,与原发送方用旧的公钥

所以公钥不能直接传。

可信任第三方ca用自己的私钥->ca的公钥 塞到浏览器

服务器端将服务器端的公钥提交给ca,ca用私钥加密(服务器端公钥,域名,摘要)=证书,中间人拿到证书后,只能看不能改(没有私钥重新加密)

ca的公钥不传(操作系统有内置,jdk这些)ca不是防止数据被偷窥,保证的是真实性

 

 

信任了某个证书,那么持有证书私钥的一方 就可以做中间人完成上面说的"中间人拦截公钥解开后,可生成新的一对公私钥给另一方,这样与另一方用新的公私钥,与原发送方用旧的公钥" 所以必须是可信任的第三方

 

加密算法要安全

 

2.向80端口加解密请求

 

posted @ 2020-12-30 23:02  l2c  阅读(99)  评论(0编辑  收藏  举报