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

谷歌云_七牛云对象存储_9元

小七 141 0

使用多路径域控制验证保护证书颁发

这篇博文是2019年加密周的一部分。互联网上的信任是由公钥基础设施(PKI)支撑的。PKI通过提供数字证书给服务器提供安全服务的能力,为加密和真实性提供了基础。通信证书通过使用证书中的公钥验证服务器身份,使HTTPS加密成为可能。HTTPS对于传输敏感数据(如银行凭证或私人消息)的网站尤其重要。值得庆幸的是,谷歌Chrome等现代浏览器通过标记"不安全"来标记使用HTTPS不安全的网站,从而让用户对自己的网站更具安全意识参观。这个博客文章介绍了Cloudflare向CAs提供的一个新的免费工具,这样他们就可以进一步确保证书颁发的安全。但在我们深入研究之前,让我们先谈谈证书从何而来起始证书权威证书颁发机构(CA)是负责颁发证书的机构。当为任何给定域颁发证书时,它们使用域控制验证(DCV)来验证为该域请求证书的实体是否是该域的合法所有者。有了DCV域所有者:创建域的DNS资源记录;将文档上载到位于该域的web服务器;或更改域的管理电子邮件帐户的所有权。DCV进程阻止对手获取请求者不拥有的域的私钥和证书对。阻止对手获取此对至关重要:如果错误颁发的证书和私钥对最终落入对手手中,他们可能会冒充受害者的域并提供敏感的HTTPS流量。这违反了我们对互联网现有的信任,并在潜在的大规模上损害了私人数据。例如,欺骗CA错误地为gmail.com网站然后假扮成Google进行TLS握手,过滤cookies和登录信息以访问受害者的Gmail帐户。证书错误签发的风险是显而易见的严重。域控制验证为了防止类似的攻击,CA只在执行DCV之后颁发证书。验证域所有权的一种方法是通过HTTP验证,通过将文本文件上载到他们想要保护的web服务器上的特定HTTP端点来完成。另一个DCV方法是使用电子邮件验证完成的,其中带有验证代码链接的电子邮件将发送给域.HTTP验证支持Alice购买域名aliceswonderland.com网站并希望获得此域的专用证书。Alice选择使用Let's Encrypt作为他们的证书颁发机构。首先,Alice必须生成自己的私钥并创建证书签名请求(CSR)。她发送CSR让我们加密,但CA不会为CSR和私钥颁发证书,直到他们知道Alice拥有aliceswonderland.com网站. 然后,Alice可以选择通过HTTP来证明她拥有这个域验证。什么时候让我们加密通过HTTP执行DCV,它们要求Alice在她的网站的/.well-known/acme challenge路径中放置一个随机命名的文件。CA必须通过向发送HTTP GET请求来检索文本文件 challenge/。此终结点上必须存在预期值,DCV才能成功。为了HTTP验证时,Alice会将文件上载到 challenge/YnV0dHNz身体包含的地方:卷曲 challenge/YnV0dHNz获取/.well-know/acme challenge/YnV0dHNz主持人:aliceswonderland.com网站HTTP/1.1 200行内容类型:应用程序/八位字节流YnV0型dHNz.TEST_客户端密钥CA指示他们使用Base64令牌YnV0dHNz。在只有证书请求者和CA知道的帐户链接密钥中测试"客户端"密钥。CA使用此字段组合来验证证书请求者是否实际拥有域。之后,爱丽丝就可以拿到她的网站证书了!DNS验证用户验证域所有权的另一种方法是将包含来自CA的验证字符串或令牌的DNS TXT记录添加到其域的资源记录中。例如,下面是一个企业向Google验证自己的域:$digtxtaliceswonderland.com网站aliceswonderland.com网站.28 IN TXT"google site verification=COanvvo4CIfihirYW6C0jGMUt2zogbE_lC6YBsfvV-U"在这里,Alice选择创建一个具有特定令牌值的TXT DNS资源记录。googleca可以验证这个令牌的存在,以验证Alice实际上拥有她网站。类型服务器需要颁发证书才能安全地与客户端通信。这就是为什么负责颁发证书的过程也是安全的如此重要。不幸的是,情况并非总是如此。普林斯顿大学的研究人员最近发现,常见的DCV方法容易受到网络级对手的攻击。如果说边界网关协议(BGP)是因特网的"邮政服务",负责通过最有效的路由传送数据,那么自治系统(AS)是代表由单个组织运行的因特网网络的各个邮局分支机构。有时网络级的对手通过BGP发布虚假路由来窃取流量,特别是当流量包含重要内容时,如域证书。使用BGP欺骗证书颁发机构突出了五种类型的攻击,这些攻击可以在DCV过程中精心策划,以获得对手不拥有的域的证书。在实施了这些攻击之后,作者能够(从伦理上)从前五个CA(加密、GoDaddy、Comodo、Symantec和GlobalSign)获得他们没有拥有的域的证书。但他们是怎么做到的?攻击域控制验证过程使用BGP攻击DCV过程有两种主要方法劫持:子前缀附加特定前缀攻击当对手向CA发送受害者域的证书签名请求时,这些攻击会创建一个漏洞。当CA使用HTTP GET请求(如前所述),对手然后使用BGP攻击来劫持到受害者域的流量,使CA的请求重新路由到对手而不是域所有者。要了解这些攻击是如何进行的,我们首先需要做一点数学。每一个Internet上的设备使用IP(Internet协议)地址作为数字标识符。IPv6地址包含128位,并在斜杠符号后表示前缀的大小。因此,在网络地址2001:DB8:1000::/48中,"/48"表示网络包含多少位。这意味着还有80位包含主机地址,总共10240个主机地址。前缀号越小,网络中保留的主机地址越多。有了这些知识,让我们开始攻击吧!攻击一:子前缀攻击当BGP宣布一条路由时,路由器总是倾向于遵循更具体的路由。因此,如果通告2001:DB8::/32和2001:DB8:1000::/48,路由器将使用后者,因为它是更具体的前缀。当对手在使用受害者的域IP地址时向特定的IP地址发出BGP公告时,这就成了一个问题。比如受害者的IP地址,leagueofentropy.com网站,即2001:DB8:1000::1,并宣布为2001:DB8::/32。如果敌方宣布前缀2001:DB8:1000::/48,那么他们将捕获受害者的流量,发起子前缀劫持攻击。在IPv4攻击中,例如2018年4月的攻击,这是/24和/23公告,更具体的/24是由邪恶实体宣布的。在IPv6中,这可能是一个/48和/47公告。在这两种情况下,/24和/48是允许全局路由的最小块。在下图中,/47是德克萨斯州,/48是更具体的德克萨斯州奥斯汀市。新的(但邪恶的)路由覆盖了部分互联网的现有路由。然后,攻击者在正常IP地址上运行一个邪恶的DNS服务器,DNS记录指向某个新的恶意web服务器,而不是现有服务器。这吸引了在邪恶路线传播的区域内前往受害者领地的流量。此攻击成功的原因是接收端总是首选更具体的前缀路由器。攻击第二:同样具体的前缀攻击在上一次攻击中,对手可以通过提供更具体的声明来劫持流量,但是如果受害者的前缀是/48,而子前缀攻击不可行呢?在这种情况下,攻击者会发起一个同样特定的前缀劫持,攻击者宣布与受害者相同的前缀。这意味着AS根据路径长度等属性在受害者和对手的通知之间选择首选路径。这种攻击只拦截一部分流量。还有一些更高级的攻击在本文中有更深入的讨论。它们基本上是相似的攻击,但更多偷偷摸摸。一次攻击者已经成功地获得了一个他们并不拥有的域的伪造证书,他们可以在伪装成受害者的域的地方执行令人信服的攻击,并且能够解密和拦截受害者的TLS流量。解密TLS流量的能力允许对手完全"中间怪物"(MITM)加密的TLS流量,并将目的地为受害者域的互联网流量重新路由到对手。为了增加攻击的隐蔽性,对手将继续通过受害者的域转发流量,以不被发现的方式执行攻击。DNS欺骗另一种敌方获得域控制权的方法是使用属于DNS名称服务器的源IP地址欺骗DNS流量。因为任何人都可以修改数据包的出站IP地址,所以敌手可以伪造t