http 和 https 在许多网站都有用到,但是现在都是极力倡导使用 https ,究其原因就是 http 的安全性不够高,在数据传输过程中可能会遭到黑客窃取。
本篇文章会先讲解 http 缺点,然后再讲解 https 是如何解决这些问题来保证安全的。
一、http 缺点
通信使用明文(不加密),内容可能会被窃听
http (HyperText Transfer Protocol),即超文本运输协议,是实现网络通信的一种规范。
http 本身不具备加密的功能,因此其在通信过程是使用明文方式发送的。这种方式就有可能造成通信过程中信息会被破解获取。
例如:一群佩奇在路上坐着敞篷大货车,路过的人直接能看到车里都是佩奇,信息完全暴露。
不验证通信方的身份,有可能遭遇伪装
http 协议在请求和响应中不会对通信方进行确认。这就存在你访问的服务器有可能不是你真正指定的服务器,拿到返回响应的客户端可能不是一开始发起请求的客户端。
例如:母鸡孵蛋,我偷偷把鸡蛋换成鸭蛋,母鸡照样在那孵,不会有任何的怀疑。
无法证明报文完整性,有可能信息已遭篡改
http 协议无法证明通信的报文完整性,在请求和响应发出后,在传输过程中内容如果遭到篡改,也没有办法感知到。
例如:你从某个网站下载内容,无法确定你客户端下载的文件和服务器中存放的文件是否一致,有可能文件在传输过程中被篡改为其他的内容。
二、什么是 https ?
http + 加密 + 认证 + 完整性保护 = https
https 实现机密性的做法就是 “加密”,将需要传递的消息进行加密,只有拥有“钥匙”的人才能拿到原始数据。
这个钥匙我们叫做 “密钥”,加密后的叫做 “密文”。通过密钥来还原数据的过程叫 “解密”,加密解密的整个操作过程就是 “加密算法”。
加密可以分为两种形式,对称加密和非对称性加密。
对称加密
对称加密指的是加密和解密用同一个密钥。但是在通信之前,客户端和服务端是不会有这样同一把密钥的,需要其中一方将密钥发送给对方。
在整个传输过程没有任何验证操作,所以黑客也可以截取到这把密钥从而破译出加密的内容。所以纯对称加密是不安全的。
非对称加密
非对称加密指的是加密和解密用不同的密钥。它有两个密钥,一个叫 “公钥”,一个叫“私钥”。两个钥匙是不同的,公钥可以给任何人使用,但私钥必须严格保密。
公钥加密的数据只能由私钥解密,反过来,私钥加密后也只能用公钥解密。
网站秘密保管私钥,在网上随意分发公钥,如果你想登录网站,只要用公钥来加密即可,密文只能由私钥持有者才能解密,即使数据传输过程中被黑客获取到,他也无法破解。
混合加密
非对称性加密虽然安全性高,但因为它都是基于复杂的数学运算,速度就会很慢,虽然保证了安全,但通信速度太慢,实用性也会大打折扣。
混合加密就是在通信刚开始的时候使用非对称算法,来解决对称加密密钥交换安全性问题。
对方拿到密文后用私钥解密,拿到对称密钥,这样双方就实现了对称密钥的安全交换,后续就不再使用非对称加密,全都使用对称加密。
这样混合加密就实现了安全和性能兼顾,实现了可靠的机密性。
三、为什么不全部使用 https ?
通过前面的介绍,https 的安全性比 http 强太多,但是依然会有很多网站没有全部使用 https。
究其原因就是加密通信会消耗更多的CPU及内存资源,如果每次通信都进行加密,会消耗相当多的资源。
因此如果是非敏感信息可以使用 http 通信,包含个人信息等敏感数据,才利用 https 加密通信。
使用 https 还有一个问题就是需要证书,而证书必须向认证机构(CA)去购买,这也是一笔不小的费用。
江苏邦润网络科技有限公司成立于2014年,是国内领先的IDC基础服务提供商,主要致力于互联网技术、电信增值业务、企业云计算、电子商务等,专业提供数据中心托管租用服务以及网络安全服务。
我公司数据中心位于扬州云计算中心,数据中心配备2000多个机柜,拥有高达1800G的流量清洗能力,以及高达4000G的网络接入带宽,数据中心技术人员专业提供7*24小时技术服务,为客户提供具备先进安全技术标准的可视化解决方案,提升客户网络安全监测、预警及防御能力。