CA证书,https讲解
关于具体连接过程,https://blog.csdn.net/wangjun5159/article/details/51510594 这篇博客写的应该比较准确。
我的理解,其中关键的一点是 https通过证书,使用 非对称加密建立了一个连接,使得对称加密的密钥得到安全的传输,也就是先用了开销大的非对称加密,安全传输了对称加密的密钥,然后用开销小的对称加密来保持传输。
http通信存在的问题
一,容易被监听
http通信都是明文,数据在客户端与服务器通信过程中,任何一点都可能被劫持。比如,发送了银行卡号和密码,hacker劫取到数据,就能看到卡号和密码,这是很危险的
二,被伪装
http通信时,无法保证通行双方是合法的,通信方可能是伪装的。比如你请求www.taobao.com,你怎么知道返回的数据就是来自淘宝,中间人可能返回数据伪装成淘宝。
三,被篡改
hacker中间篡改数据后,接收方并不知道数据已经被更改
https是 http+ssl协议 两个单独的协议组合。
https解决的问题
https很好的解决了http的三个缺点(被监听、被篡改、被伪装),https不是一种新的协议,它是http+SSL(TLS)的结合体,SSL是一种独立协议,所以其它协议比如smtp等也可以跟ssl结合。https改变了通信方式,它由以前的http—–>tcp,改为http——>SSL—–>tcp;https采用了共享密钥加密+公开密钥加密的方式
一,防监听
数据是加密的,所以监听得到的数据是密文,hacker看不懂。
二,防伪装
伪装分为客户端伪装和服务器伪装,通信双方携带证书,证书相当于身份证,有证书就认为合法,没有证书就认为非法,证书由第三方颁布,很难伪造
三,防篡改
https对数据做了摘要,篡改数据会被感知到。hacker即使从中改了数据也白搭。