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

云存储_php内置服务器_企业0元试用

小七 141 0

加密SNI:修复一个核心的互联网漏洞

Cloudflare于2010年9月27日发布。从那以后,我们一直把9月27日当作我们的生日。这个星期四我们就要满8岁了老的。曾经从我们一岁生日起,我们就利用这个机会推出新产品或服务。多年来,我们得出的结论是,庆祝我们生日的正确做法,与其说是推出我们可以赚钱的产品,不如说是做一些回馈用户和互联网的礼物。我的共同创始人米歇尔在一篇很棒的博客文章中写到了这一传统昨天。就我个人而言,我在Cloudflare最自豪的时刻之一是在2014年我们生日那天,我们为所有用户免费提供HTTPS支持。当时,人们一再地称我们为疯子。坦白地说,在公司内部,我们对自己是否疯狂进行了激烈的争论,因为加密是人们从免费账户升级到付费账户的主要原因账户。但是这是正确的做法。在我们看来,加密从一开始就没有嵌入到网络中,这是一个缺陷。如今,几乎整整四年过去了,由于Let'sEncrypt、谷歌、苹果、微软和Mozilla浏览器团队的领导,以及越来越多的托管和SaaS提供商免费内置了对HTTPS的支持,网络加密率接近80%。我很自豪我们在这方面起到了带头作用趋势。今天这是另一天,我希望回顾和自豪,因为今天我们希望帮助开创一个新的趋势,使加密的网络更私密和安全。要理解这一点,你必须了解为什么加密的web仍然会泄露大量的浏览内容历史。怎么了隐私是你的浏览历史?当你通过HTTPS访问一个站点时,你的期望是没有人在监听你和你的连接终止的线路上看到你在做什么。在某种程度上,这是真的。如果您访问您的银行网站,HTTPS可以有效地防止发送到或来自该网站的内容(例如,您的用户名和密码或您的银行帐户余额)泄露给您的ISP或任何监视您网络的其他人连接。而发送到HTTPS站点或从HTTPS站点接收的内容是受保护的,事实上访问过的网站可以很容易地观察到两种方式。传统上,其中之一是通过域名系统。默认情况下,DNS查询是未加密的,这样您的ISP或其他任何人都可以看到您的联机位置。这就是为什么去年4月,我们发布了1.1.1.1-一个免费的(而且非常快的)公共DNS解析程序,支持TLS上的DNS和HTTPS上的DNS。1.1.1.1已经取得了巨大的成功,我们已经显著提高了通过加密连接发送的DNS查询的百分比。然而,批评人士正确地指出,你访问的网站的身份仍然可能以其他方式泄露出去。最麻烦的是服务器名称指示(SNI)分机。为什么SNI?基本上,SNI的存在是为了允许您在一个IP地址上托管多个加密的网站。早期的浏览器不包括SNI扩展。因此,当请求建立HTTPS连接时,web服务器没有太多信息可供使用,只能为web服务器侦听的每个IP地址返回一个SSL证书一号解决此问题的方法是创建具有多个使用者替代名称(san)的证书。这些证书将加密多个域的流量,这些域可能都托管在同一个IP上。这就是Cloudflare如何处理来自不支持SNI的旧浏览器的HTTPS流量。不过,我们将这一功能限制在付费客户身上,原因与SAN不是一个好的解决方案相同:SAN是一种黑客攻击,很难管理,如果包含太多SAN,则会降低性能域。该更具伸缩性的解决方案是SNI。对我来说有意义的类比就是想到一个邮政信封。信封内的内容受到保护,邮递员看不到。然而,信封外面是邮政公司用来把信封送到正确建筑物的街道地址。在Internet上,web服务器的IP地址相当于街道地址。但是,如果你住在一个多单元的大楼里,仅仅一个街道地址不足以将信封送到正确的收件人手中。作为街道地址的补充,您需要提供公寓号码或收件人姓名。这相当于SNI。如果一个web服务器托管多个域,SNI将确保请求被路由到正确的站点,以便可以返回正确的SSL证书,以便能够对任何内容。好管闲事网络SNI的规范是IETF在2003年引入的,浏览器在接下来的几年里推出了对SNI的支持。当时,这似乎是一个可以接受的权衡。绝大多数互联网流量都是未加密的。添加一个TLS扩展,使它更容易支持加密似乎是一个伟大的交易,即使扩展本身不是加密了。但是今天,由于HTTPS覆盖了近80%的网络流量,SNI将你在线访问的每一个站点泄露给你的ISP和任何在线监听的人,这已经成为一个明显的隐私漏洞。知道你访问的网站可以建立一个非常准确的形象,你是谁,创造隐私和安全风险。在在美国,根据奥巴马政府末期通过的FCC规则,互联网服务提供商收集客户浏览数据的能力受到短暂限制。不过,互联网服务提供商游说国会,2017年4月,特朗普总统签署国会决议,废除这些保护措施。随着互联网服务提供商越来越多地收购媒体公司和针对广告的业务,能够挖掘流经其管道的数据对他们来说是一项越来越有吸引力的业务,对所有人来说都是越来越令人不安的隐私威胁美国。关门5月3日,在我们发布了1.1.1.1之后的一个月,我正在阅读我们新的服务。虽然这篇文章赞扬了1.1.1.1是面向隐私的,但它有点虚无缥缈地得出结论说这一切都是徒劳的,因为ISP仍然可以通过监视SNI来监视你。沮丧之余,我匆匆给Cloudflare的一些工程师和Mozilla的高级团队发了一封电子邮件,我们一直在致力于一个帮助加密DNS的项目。我结束了我的电子邮件:我的简单PRD:如果Firefox连接到Cloudflare IP,那么在发送SNI之前,我们会给你一个公钥来加密SNI条目。它如何扩展到其他提供商?不知道,但我们得从某个地方开始。粗略的共识和运行代码,对吗?结果发现比这更复杂。不过,今天我很自豪地宣布,加密SNI(ESNI)在Cloudflare的网络中是实时的。本周晚些时候,我们希望Firefox的新协议将成为Firefox的首个支持Nightly的浏览器。在接下来的几个月里,计划是让它成为主流。不仅仅是Mozilla。所有主要的浏览器制造商都对ESNI产生了很大的兴趣,我希望他们都能增加对ESNI的支持时间。希望我们是第一个支持ESNI的公司,要开创另一个趋势,我们并不是一个人这么做的。我们与来自苹果、Fastly、Mozilla和其他行业内的优秀团队合作,他们和我们一样关注互联网隐私。虽然Cloudflare是第一个支持ESNI的内容网络,但这不是一个专有协议。它正在作为IETF的RFC草案进行工作,我们希望其他人也能帮助我们将草案正式化并实现该标准。如果您对ESNI背后的技术细节感兴趣,您可以从我的同事alesandroghedini刚刚发表的一篇很棒的博客文章中了解到更多。最后,当浏览器支持在本周晚些时候开始启动时,您可以通过我们方便的ESNI测试来测试这一点工具。四个几年前,我为我们帮助开创了一种趋势而感到自豪,今天几乎所有的网络都被加密了。今天,我希望我们能再次帮助开创一种趋势——这次是让加密的网络变得更加私密安全。订阅每天更新我们所有生日周的公告。