关于https 你必须知道的四件事

关于https 你必须知道的四件事,第1张

细心的网友们可能已经注意到,访问常用的网站如淘宝或百度的时候,地址栏里多了个带锁的图标,域名的前缀也由原来的http自动跳转为https开头。那么,这些网站为什么要进行调整?https又代表着什么?

http是互联网上应用最为广泛的一种网络协议,通过使用web浏览器(如ie、火狐、chrome等),客户端发起到服务器上指定端口(默认端口为80)的http请求,从网站服务器获取超文本(文本、图像、声音等)到本地浏览器。通俗地讲,从输入域名,到网站内容显示到电脑屏幕,即完成一次http请求的过程。

https是以安全为目标的http通道,简单说就是http的安全版。

https的安全基础是ssl。

https协议的主要作用可以分为两种:

http协议传输的数据都是未加密的。 比如你访问某网站,在经过如路由器、宽带接入商等中间环节时,搜索的关键字、账号密码等都是可见的,因此使用http协议传输隐私信息极不安全 为了保证这些隐私数据能加密传输,于是设计了ssl协议用于对http协议传输的数据进行加密,于是就诞生了https。

简单来说,https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全性高 。可以这样理解,客户端将数据加密后发给服务器,服务器解密后获得数据,反之亦然。在此过程中,数据通过密钥进行加密,这样即使中间环节劫持到内容也会因没有密钥无法破解。

在这个环节中,为了验证服务器是不是你所要访问的真实的服务器,就需要第三方来检验,这个第三方就叫CA(certificateauthority,是数字证书认证中心的简称,作为独立的第三方,其职能是核实网站身份,保证获得证书的被授权者是网站所有者而不是冒充的个人或机构)。

一方面是我们的隐私保护意识还不强,另一方面在于“s”的代价:研究表明,https会让页面加载时间增加50%,耗电增加10%到20%,而购买ssl证书也需要费用。

有数据统计,国外网站https流量已超过全网的50%。可见,虽然“s”的代价不菲,但其安全价值获得了高度认可。相比而言,我国的https普及率还比较低,只有少量知名的金融、电商网站在使用,有限的安全保护已无法满足网民需求。

注:EV SSL证书示例

说了这么多,你的网站是否需要启用https加密呢?如果是博客站点、宣传类网站、分类信息、电子公告板或新闻网站之类,就没必要跟风,毕竟启用https协议需要投入额外的开销和精力。

但如果是电子商务、金融、社交网络等网站的话,则必须采用https协议。 例如银行等传统金融机构及P2P网贷等互联网金融机构就可以从国有大型CA机构(例如CFCA)申请ssl证书,从而完成https加密和站点身份认证。如果您希望了解更多与网站HTTPS加密相关的情况,可以登录 www.cfca.com.cn/ssl/ 进行查询。

HTTP: 超文本传输协议(HyperText Transfer Protocol),是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

HTTPS: 安全套接字层超文本传输协议(Hyper Text Transfer Protocol over Secure Socket Layer)。是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

HTTPS和SSL支持使用X.509数字认证,用户可以确认发送者是谁,它的主要作用有两种:1、建立一个信息安全的通道,来保证数据传输的安全;2、确认网站的真实性。

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据加密传输,网景公司设计了SSL(Sercure Socket Layer)协议用于对HTTP协议传输的数据进行加密,从而诞生了HTTPS。具体的区别如下:

1、 HTTPS更安全: HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议的信息明文传输安全;

2、 HTTPS需要申请证书: HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费,费用大概与.com域名差不多,每年需要大约几十元的费用。而常见的HTTP协议则没有这一项;

3、 端口不同: HTTP使用的是大家最常见的80端口,而HTTPS连接使用的是443端口;

4、 安全性不同: HTTP的连接很简单,是无状态的。而HTTPS协议是SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议安全;

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

(1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

(2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

(3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

(4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

(5)Web服务器利用自己的私钥解密出会话密钥。

(6)Web服务器利用会话密钥加密与客户端之间的通信。

如果需要将网站从http切换到https到底该如何实现呢?

这里需要将页面中所有的链接,例如js,css,图片等等链接都由http改为https。例如: http://www.baidu.com 改为 https://www.baidu.com

BTW,这里虽然将http切换为了https,还是建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,这样可以自动匹配http头和https头。例如:将 http://www.baidu.com 改为 //www.baidu.com 。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即使https的。

再来看一下https协议:

我们都知道HTTP并非是安全传输,而HTTPS是相对安全的,在传输数据之前,需要客户端和服务进行一次握手,在握手过程中确立双方加密传输数据的密码信息,然后在后续通信过程中就使用协商密钥进行对称加密通信。具体过程见下图:

1)客户端发起HTTPS请求

即用户在浏览器里输入一个https网址连接到服务器端口。

2)服务端初步响应

采用HTTPS协议的服务器必须要有一套数字证书,这套证书其实就是一对公钥和私钥,可以想象成一把钥匙和一个锁头,只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。将证书发回给浏览器,证书包含证书的颁发机构、过期时间等。

3)客户端解析证书

客户端首先会验证证书是否有效,比如颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致、过期时间等,如果发现异常,则提示证书存在问题,如果证书没有问题,那么客户端就生成一个随机值,然后用证书对该随机值进行加密。

4)客户端发送加密信息

客户端发送的是用证书加密后的随机值。

5) 服务器解密信息

服务端用私钥解密后,得到了客户端传过来的随机值,然后把内容通过该值进行对称加密(所谓对称加密就是将信息和私钥通过某种算法混合在一起)。

6)服务器发送加密后的信息

服务器发送的是服务端用随机值进行对称加密后的信息。

7) 客户端解密信息

客户端用之前生成的随机值解密服务端传过来的信息,客户端就获取了解密后的内容。

尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个好处:

(1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

(2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

(3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

(4)谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

虽然说HTTPS有很大的优势,但其相对来说,还是存在不足之处的:

(1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;

(2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;

(3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

(4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。

(5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/554625.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-29
下一篇2023-06-29

发表评论

登录后才能评论

评论列表(0条)

    保存