Https的见解

112 阅读1分钟

为什么会存在?Https位于网络模型的应用层,保证了数据传输的保密性,密文传输。如何保证保密性?服务端和客户端传输的数据进行加密,对称加密加解密效率高,所以传输数据用对称加密,但是第一次协商密钥的数据传输还是明文的,还是可以被拦截篡改,为了解决这个问题引入了非对称加密,服务端生成非对称密钥,把公钥传输给客户端,然后客户端拿到这个公钥给自己的对称加密的密钥加密然后传输给服务端,然后服务端用自己的私钥解密。 又有了一个疑问,服务端第一次下发公钥的时候被拦截篡改了怎们办?引入了ca证书颁发机构,服务端申请ca认证,ca服务端会用自己私钥给服务端的公钥加密然后返回给服务端,这样每次请求的时候,服务端给自己被ca加密过的公钥发给客户端,然后客户端拿到ca私钥加密过的服务端公钥去申请本地的ca证书解密,这样客户端就安全的拿到了服务端下发的非对称密钥的公钥,然后客户端再给自己的对称密钥利用刚拿到的服务端公钥加密传给服务端,然后服务端用私钥解密就拿到了对称加密的密钥,后来就可以用对称加密的方式安全的传输数据了。(对称加密的效率要高于非对称加密)