云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库服务器_前瞻网数据库_好用

小七 141 0

机会主义加密:将HTTP/2带到未加密的web上

加密网络不是一件容易的事。各种复杂性阻止网站从HTTP迁移到HTTPS,包括混合内容,这可能会阻止网站使用HTTPS运行。机会主义加密为尚未迁移到HTTPS的网站提供了额外的安全级别,以及HTTP/2的性能优势。当用户使用机会性加密访问站点时,在地址栏中看不到HTTPS的安全指示器,但从浏览器到服务器的连接是加密的。2015年12月,CloudFlare推出了HTTP/2,这是HTTP的最新版本,可以提高网站的性能。没有加密就不能使用HTTP/2,而在现在之前,这意味着HTTPS。基于IETF草案的机会主义加密允许服务器通过加密连接接受HTTP请求,允许非HTTPS站点使用HTTP/2连接。这是第一次。结合tls1.3和HTTP/2serverpush,机会加密可以带来显著的性能提升,同时也提供了安全优势。现在,所有CloudFlare客户都可以使用机会加密,默认情况下为免费和专业计划启用。该选项位于CloudFlare仪表板的"加密"选项卡中:工作原理机会主义加密使用HTTP替代服务,这是一种允许服务器告诉客户,他们正在访问的服务在另一个网络位置或通过另一个协议可用的机制。当支持浏览器向启用了机会加密的CloudFlare站点发出请求时,CloudFlare会添加一个替代服务头,以指示该站点在端口443上通过HTTP/2(或SPDY)可用。对于启用了HTTP/2的客户:Alt Svc:h2=":443";毫安=60对于禁用HTTP/2的客户:Alt Svc:spdy/3.1=":443";毫安=60这个报头简单地声明,可以使用HTTP/2("h2")或SPDY 3.1("SPDY/3.1")在同一网络地址通过端口443(标准HTTPS端口)对域进行授权访问。字段"ma"(max age)表示客户端应记住替代服务存在的时间(以秒为单位)。Evan Jackson的CC BY-SA 2.0图像当Firefox(或任何其他支持机会性加密的浏览器)接收到"h2"Alt Svc报头时,它就知道该站点可以通过端口443上的TLS使用HTTP/2。对于对该域的任何后续HTTP请求,浏览器将使用端口443上的TLS进行连接,在端口443上,服务器将提供由可信证书颁发机构签名的域的证书。然后浏览器将验证证书。如果连接成功,浏览器将使用HTTP/2通过该连接发送请求。机会性加密的请求将在:scheme伪标头中包含"http",而不是"https"。从有线的角度来看,这个伪头是通过TLS和HTTPS进行机会性加密的HTTP请求之间的唯一区别。然而,浏览器对待使用HTTP和HTTPS url获取的资产有很大的不同(如下所述)。HTTP替代服务是一种相对较新但广泛使用的机制。例如,Google使用Alt-Svc向浏览器宣传其实验性传输协议QUIC的支持,其方式与我们使用它来宣传对机会主义加密的支持非常相似。为什么不直接使用HTTPS呢?默认情况下,CloudFlare使用通用SSL为所有计划中的客户启用HTTPS。然而,有些网站选择继续允许通过未加密的HTTP访问其网站。主要原因是内容混杂。如果一个站点包含对HTTP图像的引用,或者通过嵌入的脚本请求httpurl,浏览器将显示警告甚至直接阻止请求,这通常会破坏站点的功能。由Blondinrikard Fröberg提供的CC BY 2.0图像确保站点可以完全迁移到HTTPS可能是一个手动且耗时的过程。它可能需要有人手动检查站点上的每个页面,或者设置内容安全策略(CSP)报告基础设施,这是一项复杂的任务。即使在完成了所有这些工作之后,修复混合内容问题可能需要对中间件或内容管理软件进行更改,而这些更改不容易更新。本周晚些时候,我们将介绍HTTPS自动重写,这有助于修复许多站点(但不是所有站点)的混合内容。某些混合内容无法修复,因为包含的第三方资源(如广告)在HTTPS上不可用。HTTPS加密不会从大多数网站的机会性更新中获益。使用机会主义加密,支持浏览器可以选择通过加密连接使用HTTP/2访问HTTP站点,而不是通过明文(默认设置)使用HTTP/1.1。安全效益网络运营商可以访问通过其设备传输的数据,这已不是什么秘密。这种访问可以用来修改数据:ISP被发现向未加密的请求中注入不需要的数据(如广告和跟踪cookies)。各国通常通过检查未加密流量中的HTTP报头来过滤内容,中国的大炮向未加密网站注入恶意代码。对传输中的数据的访问也可以用于执行拖网监视,在那里收集大量数据,然后运送到中心位置进行分析。机会主义加密不能完全保护攻击者,攻击者只需删除向浏览器发送支持机会主义加密信号的报头。然而,一旦建立了一个机会加密的连接,通过该连接发送的所有请求都将被加密,并且不能被窥探者读取(或修改)。术语很难timberners-Lee在20世纪80年代末发起了HTTP的开发,以便于将文档从服务器传输到客户机。与当今的网络生态系统相比,网站和浏览器都是初级的。网络安全的概念实际上并不存在。来自1989年的原始论文:随着web的用例扩展到包括敏感数据事务,需要一些安全性。开发了多种加密方案来帮助保护HTTP,包括S-HTTP和最终的赢家HTTPS。最初,HTTP和HTTPS之间的区别在于分层。在HTTP中,消息直接写入网络,而在HTTPS中,使用SSL(一种加密和认证协议)在客户端和服务器之间建立安全连接,并将标准HTTP消息写入加密连接。浏览器用一个打开的锁图标向HTTP网站发出信号,而HTTPS网站收到一个关闭的锁。后来,SSL演变成TLS,尽管人们有时仍将其称为SSL。随着网站变得越来越复杂,嵌入脚本和动态内容变得司空见惯。在一个安全的网页上提供不安全的内容被认为是一种风险,而HTTPS开始有了更微妙的含义。HTTPS不仅仅是加密连接上的HTTP,还意味着安全的HTTP。例如,cookies成为在客户端中存储状态以管理web会话的流行方法。通过安全连接获得的cookie不允许通过不安全的HTTP发送或由通过HTTP获得的数据修改。新的隐私敏感特性现在需要HTTPS(如位置API)。负责web的标准机构W3C在其安全上下文文档中进一步规范了HTTP和HTTPS之间的区别。要分解它:HTTP是一种传输超文本的协议TLS/SSL是一种加密通信协议HTTPS是一种传输安全超文本的协议HTTPHTTPS未加密✔️❌用TLS加密✔️✔️机会加密位于左下角✔️. 虽然浏览器只将HTTPS站点视为安全站点(如绿色锁安全指示器所示),但加密的HTTP比未加密的HTTP更好。浏览器支持自Firefox 38(2015年5月)以来,Firefox的所有版本都支持原始形式的机会主义加密(无需证书验证)。Firefox最近在Firefox Nightly中增加了对证书验证的支持,并将在即将发布的官方版本中支持它。我们相信机会主义加密是网络安全的一个有意义的进步。我们希望其他浏览器能效仿Firefox,实现机会主义加密。需要说明的是,机会主义加密并不是HTTPS的替代品。当需要强加密和身份验证时,应始终使用HTTPS。对于没有资源完全迁移到HTTPS的站点,机会主义加密可能会有所帮助,提供更高的安全性和性能。一点一滴都很重要。