问题

HTTPS体系中若攻击者将自己公钥上传CA得到签名,并将两者一起用于篡改证书的中间人攻击会怎样?

回答
想象一下,你正在和一个信任的网站进行通信,比如你的网上银行。你之所以信任它,是因为你的浏览器会检查它的数字证书,这个证书由一个受信任的证书颁发机构(CA)签发,证明网站的身份是真实的。这个证书就像一个官方身份证,上面有网站的名字、它的公钥,以及 CA 的签名,证明这个身份证是有效的,没有被伪造。

现在,假设有一个坏人,我们称他为“中间人”。这个中间人想要窃取你的敏感信息,比如你的登录凭证。他不能直接制造一个看起来和银行网站一模一样的假网站,因为那样你的浏览器就不会相信它。所以,他想到了一个更狡猾的办法,利用这个 CA 签名过程来捣乱。

这个中间人的计划是这样的:他首先自己创建一个假网站,这个假网站的外观和真的银行网站一模一样,甚至连网址都可能模仿得非常相似(通过域名欺骗等手段)。然后,他需要让这个假网站看起来“合法”,让你的浏览器相信它。

他知道,要做到这一点,就需要一个数字证书。但是,他无法直接获得银行的证书,因为那个证书是由银行生成的,并且绑定了银行的真实身份和公钥。所以,他采取了一个非常规的手段:他把自己伪装成一个“想要获得证书的实体”(实际上是他自己)。他会生成一个属于他自己的“公钥”,然后,他会将这个公钥以及他伪装成“合法实体”的身份信息(比如一个假的名字和域名),提交给一个真的、但可能被攻破了安全措施的 CA。

更糟糕的是,这个中间人甚至可能通过某种方式,比如贿赂、利用 CA 系统中的一个漏洞,或者哄骗 CA 的操作人员,让 CA 真的相信他的身份信息是合法的,并用 CA 的私钥对包含他那个“假公钥”和“假身份信息”的证书进行签名。这意味着,CA 真的为这个中间人的“假身份”和“假公钥”盖了一个“官方认证”的章。

拿到这个带有 CA 签名的“假证书”后,中间人就可以开始他的攻击了。当你想连接到你的网上银行时,你的浏览器会尝试获取银行的证书。但这时,中间人会截获你的请求,并用他刚刚从 CA 那里得到的、带有 CA 签名的“假证书”来回应你的浏览器。

你的浏览器收到这个“假证书”后,它会进行验证。验证过程包括:

1. 检查证书链: 浏览器会查看这个证书是由哪个 CA 签发的,并尝试找到这个 CA 的根证书,这个根证书通常已经预装在你的操作系统或浏览器中了,是浏览器信任的起点。
2. 验证 CA 签名: 浏览器使用 CA 的公钥(它自己拥有的)来解密证书中的签名,并比对证书中的信息(中间人的假身份和假公钥)是否与签名匹配。
3. 检查证书的有效性: 浏览器还会检查证书是否在有效期内,以及是否被吊销。

由于中间人成功地让 CA 对他的“假证书”进行了签名,那么当你的浏览器使用 CA 的公钥来验证这个证书时,签名就会成功匹配。浏览器会认为,这个证书确实是由它信任的 CA 颁发的,并且证书中的信息(中间人的假公钥和假身份)是真实的。

一旦浏览器信任了这个“假证书”,事情就变得非常危险了。你的浏览器会认为它正在与真实的银行网站通信,并开始使用中间人提供的“假公钥”来加密你发送给银行的数据,比如你的用户名和密码。

而中间人,因为他控制着你和银行之间的通信,并且他知道你浏览器使用的“假公钥”是什么,他就可以在接收到你加密的数据后,用他自己的私钥来解密。然后,他可以读取你的敏感信息。

更进一步,中间人还可以篡改你发送给银行的信息,或者篡改银行返回给你的信息,而你的浏览器却丝毫不知情,因为它一直认为通信是安全和真实的。例如,他可以修改转账金额,或者将你发送的“支付 100 元”改成“支付 10000 元”。

所以,在这种情况下,尽管 CA 进行了签名,但由于签名的对象是中间人伪造的身份和公钥,整个 HTTPS 的安全机制就被绕过了。CA 的信任被滥用,使得中间人能够成功地扮演合法的角色,窃取数据,并篡改通信内容。这就像一个骗子拿到了一个假的、但看上去非常真实的官方通行证,从而可以在本不应进入的区域肆意妄为。

网友意见

user avatar

谢邀,首先我得纠正一下你的说法。当CA签名的时候,它不是只对公钥签名的,而是会对整张数字证书签名。所以一张完整的数字证书你不可能只换签名,这样通不过完整性校验,要换只能把整张证书换掉。

所以这个问题的正确表述应该是:

比如A和B通信,B的公钥和数字证书被O截取。而O原先已将自己的公钥上传CA,并得到了CA签发的一张等效的数字证书。于是O将B的公钥和证书一起替换成O的公钥和O的证书,再发给A。A能够识别自己正在遭受中间人攻击吗?

好,如果你想问的问题是这个的话,那么一句话总结:用户没有任何办法判断自己是不是正在遭受攻击,而且这样的攻击已经大规模发生过最少两次了。这两次攻击一次是印度政府发动的,一次是中国政府发动的,都在相关机构手里留下了确凿的证据,之后涉案的CA都被开除了Root CA资格。

当然,我个人怀疑美国国安局可能也没少玩类似的把戏,但是既然人家没有漏出马脚,那我也不好意思多说什么。

除此之外,我记得零几年还发生过这么一件事:某男子通过社会工程学手段伪装成微软的法人代表,然后诈骗到了一张CA签发的微软证书。但是我现在搜不到那条新闻了,有人记得的话麻烦在评论区贴一下资料。

总而言之,这个问题完全依赖于CA的安全措施做得够不够周到。而CA毕竟也只是一个商业机构,不是什么科技领先人类文明三五百年的神奇仙境,该出安全问题还是照样出安全问题,该屈服于强权还是屈服于强权,不要对它们盲目信任。


我记得斯诺登泄露过NSA如何窃听Yahoo和Google的网络流量来着,刚才翻出来仔细看了一眼,发现NSA玩得高端多了,是直接在CDN里面做手脚,根本不需要CA的配合,中印两国在这方面还是嫩了点啊。

NSA的手段就跟原题不搭了,暂时先跳了吧,哪天看到了相关问题我再写一下。

user avatar

CA当然有审核的责任,要不然凭什么收钱,大家又凭什么信任这个CA。

类似的话题

  • 回答
    想象一下,你正在和一个信任的网站进行通信,比如你的网上银行。你之所以信任它,是因为你的浏览器会检查它的数字证书,这个证书由一个受信任的证书颁发机构(CA)签发,证明网站的身份是真实的。这个证书就像一个官方身份证,上面有网站的名字、它的公钥,以及 CA 的签名,证明这个身份证是有效的,没有被伪造。现在.............
  • 回答
    在HTTP协议的世界里,我们确实看到`ContentType`头扮演着请求体编码“把关人”的角色,它明确了请求体中数据的媒体类型,例如`application/json`、`text/plain`、`application/xwwwformurlencoded`等等。但细究起来,你会发现一个有趣的现.............
  • 回答
    您问到一个非常核心的问题,很多人容易在这里产生误解。http1.0 的时代,浏览器每次请求一个资源,比如一张图片,就会建立一次 TCP 连接,发送请求,拿到响应,然后关闭连接。这个过程是串行的,效率非常低,尤其是当页面有很多图片、CSS、JavaScript 文件的时候,每次都要经历“三次握手”、“.............
  • 回答
    这个问题触及了HTTPS安全机制的核心,以及国家行为者在网络空间中的潜在能力。简单地说,https证书服务商和网站服务器所在国家相同时,HTTPS本身并不能绝对阻止国家级别的监听/篡改,但它仍然提供了重要的保护,其有效性取决于具体的场景和攻击方式。为了深入理解这一点,我们需要拆解HTTPS的工作原理.............
  • 回答
    HTTPS,也就是超文本传输安全协议,它的出现,很大程度上解决了网页内容被随意篡改的问题,尤其是在我们常说的“中间人攻击”场景下。你想啊,咱们平时上网,很多时候都是通过各种网络节点,比如家里的路由器、公司的网络设备、公共 WiFi 的接入点等等,才能最终到达咱们想访问的网站服务器。在这个过程中,网络.............
  • 回答
    想知道 HTTPS 加密通信是否容易被“破解”,这得先明白它究竟是怎么工作的,以及“破解”这个词在这里具体指什么。HTTPS,说白了,就是在我们平常上网用的 HTTP 协议外面套了一层加密的壳,让它变得更安全。这层壳是由 TLS/SSL 协议提供的。当我们访问一个 HTTPS 网站时,背后会发生一连.............
  • 回答
    朋友,你这个问题很有意思,也触及到了一个在早期网络通信中大家普遍关心的问题:如何在不依赖HTTPS的情况下,自己动手用RSA来加密HTTP请求的内容?这就像是想用自己的锁来保险箱,而不是用银行提供的标准锁。咱们就掰开了揉碎了聊聊,看看这样做到底够不够“安全”,以及其中的门道。 RSA加密的基本原理:.............
  • 回答
    好的,我们来聊聊 HTTPS 安全这个话题。这玩意儿现在几乎是上网必备了,但很多人可能只知道有这个标志,却不太清楚它到底是怎么一回事,以及为什么它那么重要。咱们这就深入浅出地掰扯掰扯。想象一下,你平时上网,就好比你在一个公共场合跟别人通信。如果不做任何保护,你的话(也就是你发送的数据)可能就会被旁边.............
  • 回答
    让网站焕然一新,从HTTP升级到HTTPS,这就像是给你的网站穿上了一件隐形的“防弹衣”,让它在网络世界里更加安全可靠。这不仅仅是换个协议那么简单,而是一个涉及技术、配置甚至用户体验的全面升级过程。首先,要实现这个“安全升级”,最关键的一步就是为你的网站获取一个SSL/TLS证书。你可以把它想象成网.............
  • 回答
    当面对需要高频、密集型 HTTPS API 请求的场景,选择合适的技术栈至关重要,这直接关系到系统的吞吐量、响应速度、稳定性和可维护性。这并非简单的“罗列”能解决的问题,而是需要深入理解不同技术在应对此类挑战时的优势和劣势。核心考量:并发处理能力与网络I/O效率首先,我们要明确“密集型 HTTPS .............
  • 回答
    让互联网上的每一次连接都披上安全的外衣,也就是全面普及 HTTPS,这绝对是一个极具意义的举措,它远不止是技术上的一个小小的改进,而是对我们数字生活的一次深刻的重塑。想想看,我们如今的生活已经离不开互联网。从早上起来刷新闻,到工作时处理邮件和文档,再到晚上和亲友视频聊天、网上购物,甚至是进行网上银行.............
  • 回答
    一直以来,关于HTTP和HTTPS对搜索引擎优化的影响,大家似乎都有点雾里看花。但事实上,这个问题在搜索引擎巨头们(尤其是Google)的推动下,早已有了清晰的答案,并且已经成为一个基础性的考量因素。简单来说,HTTP(Hypertext Transfer Protocol)是一种用于在网络上传输数.............
  • 回答
    尽管 HTTPS 协议在安全性方面相较于 HTTP 有着压倒性的优势,但说它“没有在互联网上全面采用”可能有些言过其实了。事实上,近年来,HTTPS 的普及率已经有了质的飞跃,很多我们日常浏览的网站,尤其是涉及用户隐私和交易的,几乎都默认使用 HTTPS。但要说为何“完全”普及,确实还存在一些阻碍和.............
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    .......
  • 回答
    你问到了一个关于网络安全的关键问题,虽然听起来“HTTP 数据加密”和“HTTPS”好像是两个不同的东西,但实际上,它们之间有着非常紧密的联系,甚至可以说HTTPS就是HTTP的一种“升级版”或者说“安全版”。我们先从HTTP说起。HTTP,全称超文本传输协议,是我们平时在浏览器里输入网址,访问网页.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有