https是如何保证安全的呢?

2018-06-03  本文已影响0人  Da_xiong

一、http和https的区别

二、加密方式

既然https是先将传输数据进行加密再发送,那常用的加密方式又有哪些呢?我们继续往下瞧,如下罗列了三种加密方式:

*或许有人会有疑惑,采用非对称加密的方式,把公钥公布出去,私钥给自己,虽然返回的数据是只有自己知道,但发出去的数据不还是所有有公钥的都可见了么?
其实,既然返回的数据只有自己可见,那服务端可以在返回的数据里跟客户端商量一种新的通信加密方式,而这种通信方式藏在返回数据里只有客户端才能解密,所以就只有两端知道。当客户端需要发送数据时,可以先用新的加密方式加密,再用私钥加密之后发送,这样其他拥有公钥的非目标端用公钥解密了的还是用新加密方式加密的数据。

三、数字证书

在上面我们知道了https可以采用加密的方式来确保传输数据的安全,而加密方式中非对称加密是比较安全的一种。但是,直接通过非对称加密的方式是否就一定确保数据通信完全安全呢?其实不然,因为公钥是公布出去的,服务端有可能收到假的公钥,这样别人就可以伪造客户端用假的公钥回复假的数据,而服务端还傻傻的认为是安全可靠的。如何避免这种情况的发生呢?要避免这种情况,首先就要确保公钥是真的公钥?那这个又如何确保呢?这就要靠数字证书了。

一般浏览器都会内置一些根CA或顶级CA的证书,当需要验证时,会通过CA链逐级验证(即网站的证书通过A证书证明有效,A证书由上级B证书确保有效,最后到根证书验证以确保整个验证可靠)。

四、总结

好了,到此https的基本原理讲解完了。简单总结下就是:

  1. 为了确保传输数据不裸奔需要对数据进行加密。
  2. 为了确保加密公布出去的密钥真实可靠,需要数字证书做公证人。
上一篇下一篇

猜你喜欢

热点阅读