对称加密:发送信息中带秘钥信息,谁都能伪造
非对称加密会有中间人攻击问题,即没有第三方机构证书导致客户端先经过中间人的公钥和私钥非对称加密,中间人再单独和服务器交互,对客户端来说,中间人相当于服务器,对服务器来说,中间人相当于客户端
https有第三方机构的证书
请求过程:
1.客户端请求网站,获取公钥证书(第三方机构签名信息+服务器公钥)
2.客户端根据本地浏览器或操作系统中存的第三方机构可信的公钥解密,验证公钥证书签名,如果验证成功,则取公钥证书中的服务器公钥对自己生成的对称加密秘钥进行加密,发送给服务端
3.服务端用服务器的私钥解密,获取对称秘钥(非对称加密慢,所以先进行非实际信息的交互,此处非对称验证结束)
4.服务器用对称秘钥加密实际信息发给客户端
5.客户端用对称秘钥解密信息(对称加密过程结束)
问题:
1.黑客为什么不能篡改公钥证书:黑客也可以像正常使用者一样,通过公钥解密获取第三方网站的信息,但是公钥证书是第三方认证机构用私钥加密的,黑客没有私钥,所以加密不了公钥证书
2.黑客为什么不能把证书中服务器公钥改正自己的:客户端校验签名,发现签名和篡改的公钥证书的属性值不一致,知道被篡改了,会报错,实际就是因为这个黑客的公钥没有被第三方认证机构认证过,验签时会报错,而且黑客没有第三方机构私钥,没法给自己的公钥像第三方一样签名.