http的弊端
Web前端,进行数据请求的方式,一般是使用http的方式进行的,一般而言,http协议的传输是一种明文的方式进行传输。
前端向后端进行http请求,中间会经过各种各样的网关、服务器节点等,最终到达我们的目标服务器。但是在这个中间的每个节点上,只要对象想获取你的http的信息,它是可以随意的进行数据的劫持和篡改的!(这就是http进行明文传输的弊端),最后,服务端向你返回数据的时候,也是通过明文的方式是进行的。
所以,如果传输层的安全不能保证,那么我们的xss、csrf的攻击,我们的防御就是一句空话。
http窃听危害
- 可以窃听你的任意敏感信息,只要你的任何敏感信息在网上传输,它都可以把你的信息得到,比如你的支付宝的账号、密码等。
http篡改危害
- 可以更改你的网站信息,比如它可以插入广告。
- 可以重定向你的网站。
- 你永远不可能防御你的XSS攻击以及CSRF攻击。
- 广告进行运营商劫持。
- 公共wifi获取密码,一定要注意,你的信息很可能不安全的。
https是对http协议的一种解决方案
分析:http被窃听和篡改的唯一原因,就是http是明文传输的。所以我们应该对数据进行加密。
HTTP + TLS(SSL)=> HTTPS
我们对HTTP进行加密,加密的方式就是TLS协议(传输层加密),TLS在之前的叫法就是SSL。
但是也会有这样的一个问题:
浏览器———中间人————服务器。
中间人可以解密浏览器的信息,然后加密后发送给服务器。这样也会受到http的窃听和篡改风险。所以这个需要一个非常重要的信任机制——CA证书机制。
解决方案,就是我们非常重要的信任机制。(CA证书机制)。
浏览器会有一个CA证书列表,表示我们的网站是安全的。服务器需要向CA证书发布的机构进行证书申请。得到这个CA证书。那么浏览器访问你的网站的时候,它就会向你的服务对比CA证书的信任情况,如果信任的网站,它就会正常访问。
CA证书必须保证安全的重要原则:
- 证书是无法伪造的。
- 证书私钥不能被泄漏。
- 域名管理权不能泄漏。
- CA坚守原则。
通过这样的一些机制,我们就能保证我们的http传输是安全的。