https(2)

一、共享密钥加密(对称密钥加密)
客户端和服务端采用同一个密钥加密进行传输,传输的内容加密和解密用同一套密钥
在传递该“密钥”的过程中若被第三方截获,第三方用密钥进行解密,则传输的数据仍然处于不安全状态。
二、公开密钥加密(非对称加密)
客户端持有自己的一套公钥和私钥,服务端也持有自己的一套公钥和私钥。公钥是公开状态的,所有人都能看得到,但是通过公钥加密的数据,只能和之配套的私钥才能解密。
客户端将公钥发送给服务端,服务端用该公钥对数据进行加密,客户端接到数据后用对应的私钥进行解密,这个过程只有客户端自己保存了私钥,避免了私钥向外传输的风险。
三、虽说非对称加密解决了私钥传输的风险,但是使用非对称加密效率过低,因此Https结合了两种加密方式,使用非对称加密的方式将对称加密的“密钥”传递给对方,这样就避免了第三方的劫持,然后采用对称加密的方式记性数据传输,解决效率上面的问题。
四、貌似所有的安全问题都解决了,但是其实还是有风险存在的,那就是公钥的传输,虽说公钥是公开的,但是会存在这种情况:
1.客户端发送公钥
2.第三方截获公钥
3.第三方更换成自己的公钥
4.第三方发送自己的公钥
5.服务器接收第三方的公钥,误以为这就是客户端发来的公钥
6.服务器用第三方的公钥加密发送数据
7.第三方截获该数据数据用自己的私密解密
8.第三方用客户端的公钥加密发送给客户端
9.客户端接收到数据
简直神不知鬼不觉,第三方既扮演了客户端也扮演了服务端,数据就这样被窃取了。
五、这时候CA机构就出现,他向外提供自己的数字证书,服务端申请获得CA机构签名处理的公钥和公钥证书绑定在一起,简称数字证书,将数字证书发送给客户端,客户端使用CA的公钥对数字证书的签名进行验证,即可知道该数字证书是否为服务端一致的证书,若一致,则当前公钥是安全的,没有被篡改。

你可能感兴趣的:(https(2))