新闻

是时候为你的网站应用启用 https 加密访问了!

发布者:深圳网站设计,日期:2022/5/31 15:05:01
搜索引擎龙头谷歌率先启用 https 协议,并明确阐述在同等条件下,采用 https 协议的网站将受到内容收录、检索和排位的优待。接着是2014年底的时候,在部分地区小规模测试 https 加密传输搜索数据,并于2015年全面启用。同样的是,百度也明确表示,在网页内容收录方面,会优待启用 https 的网站。

http 虽然使用极为广泛,但是却存在不小的安全缺陷,主要是其数据的明文传送和消息完整性检测的缺乏,而这两点恰好是网络支付,网络交易等新兴应用中安全方面最需要关注的。关于 http 的明文数据传输,攻击者最常用的攻击手法就是网络嗅探,试图从传输过程当中分析出敏感的数据,例如管理员对 web 程序后台的登录过程等等,从而获取网站管理权限,进而渗透到整个服务器的权限。即使无法获取到后台登录信息,攻击者也可以从网络中获取普通用户的隐秘信息,包括手机号码,身份证号码,信用卡号等重要资料,导致严重的安全事故。进行网络嗅探攻击非常简单,对攻击者的要求很低。使用网络发布的任意一款抓包工具,一个新手就有可能获取到大型网站的用户信息。


是时候为你的网站应用启用 https 加密访问了!


另外,http 在传输客户端请求和服务端响应时,唯一的数据完整性检验就是在报文头部包含了本次传输数据的长度,而对内容是否被篡改不作确认。因此攻击者可以轻易的发动中间人攻击,修改客户端和服务端传输的数据,甚至在传输数据中插入恶意代码,导致客户端被引导至恶意网站被植入木马。


https 协议是由 http 加上 tls/ssl 协议构建的可进行加密传输,身份认证的网络协议,主要通过数字证书,加密算法,非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。设计目标主要有三个:


(一)数据保密性:保证数据内容在传输的过程中不会被第三方查看。就像快递员传递包裹一样,都进行了封装,别人无法获知里面装了什么。
(二)数据完整性:及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收。
(三)身份校验安全性:保证数据到达用户期望的目的地。就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方,通过身份校验来确保送对了地方。


https 与 http 原理区别


https 主要由两部分组成:http + ssl / tls,也就是在 http 上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过 tls 进行加密,所以传输的数据都是加密后的数据。


http 原理:


(一)客户端的浏览器首先要通过网络与服务器建立连接,该连接是通过tcp 来完成的,一般 tcp 连接的端口号是80。 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(url)、协议版本号,后边是 mime 信息包括请求修饰符、客户机信息和许可内容。
(二)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是 mime 信息包括服务器信息、实体信息和可能的内容。


https 原理:


(一)客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器。
(二)服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数。
(三)客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名),并抽取服务器的公用密钥;然后,再产生一个称作 pre_master_secret 的随机密码串,并使用服务器的公用密钥对其进行加密(参考非对称加 / 解密),并将加密后的信息发送给服务器。
(四)客户端与服务器端根据 pre_master_secret 以及客户端与服务器的随机数值独立计算出加密和 mac密钥(参考 dh密钥交换算法)。
(五)客户端将所有握手消息的 mac 值发送给服务器。
(六)服务器将所有握手消息的 mac 值发送给客户端。


https 协议的改进


双向的身份认证:


客户端和服务端在传输数据之前,会通过基于x.509证书对双方进行身份认证。客户端发起 ssl 握手消息给服务端要求连接,服务端将证书发送给客户端。客户端检查服务端证书,确认是否由自己信任的证书签发机构签发。如果不是,将是否继续通讯的决定权交给用户选择 ( 注意,这里将是一个安全缺陷 )。如果检查无误或者用户选择继续,则客户端认可服务端的身份。服务端要求客户端发送证书,并检查是否通过验证。失败则关闭连接,认证成功则从客户端证书中获得客户端的公钥,一般为1024位或者 2048位。到此,服务器客户端双方的身份认证结束,双方确保身份都是真实可靠的。


数据传输的机密性:


客户端和服务端在开始传输数据之前,会协商传输过程需要使用的加密算法。 客户端发送协商请求给服务端, 其中包含自己支持的非对称加密的密钥交换算法 ( 一般是rsa), 数据签名摘要算法 ( 一般是sha或者md5) , 加密传输数据的对称加密算法 ( 一般是des),以及加密密钥的长度。 服务端接收到消息之后,选中安全性最高的算法,并将选中的算法发送给客户端,完成协商。客户端生成随机的字符串,通过协商好的非对称加密算法,使用服务端的公钥对该字符串进行加密,发送给服务端。 服务端接收到之后,使用自己的私钥解密得到该字符串。在随后的数据传输当中,使用这个字符串作为密钥进行对称加密。


防止重放攻击:


ssl 使用序列号来保护通讯方免受报文重放攻击。这个序列号被加密后作为数据包的负载。在整个ssl握手中,都有一个唯一的随机数来标记ssl握手。 这样防止了攻击者嗅探整个登录过程,获取到加密的登录数据之后,不对数据进行解密, 而直接重传登录数据包的攻击手法。


可以看到,鉴于电子商务等安全上的需求,https对比http,在安全方面已经取得了极大的增强。总结来说,https 的改进点在于创造性的使用了非对称加密算法,在不安全的网路上,安全的传输了用来进行对称加密的密钥,综合利用了非对称加密的安全性和对称加密的快速性。


https 对于网站的 seo


gworg曾经对100万个google结果进行分析,它们得出一个结论,除了内容、关键词、网站架构层次、页面容量是否合理、内外链等因素会影响seo外,公网ip地址和ssl证书同样会对网站的seo产生影响。


我们知道,当网站配置安装ssl证书后,http站点将升级为https站点,所传送的数据会被加密和隐藏,确保数据在传送过程中,不会被改变,从而确保网站安全和用户数据安全。配置ssl证书还有很多好处,例如:


(一)避免数据监听:当用户浏览网站时,https站点无法被窃听者监听网站与用户之间的信息交换,窃听者无法取得用户信息。
(二)增强品牌信任:主流浏览器会对https站点作特殊标记,通常会加绿色安全锁,增强级证书浏览器地址栏还会变成绿色,同时用户可查看该网站的企业信息,用户信任感大幅提升,从而方便网站业务的开展。


正因为 https 站点安全性更高,近几年来,各大互联网公司纷纷将 http 站点升级为 https 站点。百度于2015年全站强制启用 https 连接;阿里旗下电商平台启用全站 https;微信小程序强制使用 https 等等。关于 ssl 证书的相关法规也非常多,例如2016年,英美两国政府要求所有政府业务平台强制使用 https,2017年《网络安全法》实施;2018年欧盟实施史上最严的《一般数据保护条例》等。


搜索引擎龙头谷歌率先启用 https 协议,并明确阐述在同等条件下,采用https协议的网站将受到内容收录、检索和排位的优待。接着是2014年底的时候,在部分地区小规模测试htts加密传输搜索数据,并于2015年全面启用。同样的是,百度也明确表示,在网页内容收录方面,会优待启用 htts 的网站。其实不止谷歌和百度,国内的360搜索、搜狗搜索等,均纷纷启用 https 协议。就像政府鼓励新能源汽车一样,这是一个很明显的趋势,也许未来若干年内,在搜索引擎和政府的引导下,很多网站都会不约而同的启用 https 传输网站数据,届时我国搜索引擎行业将进入全面 https 加密时代。