证书如何避免中间人攻击?

     2023-03-04     208

关键词:

【中文标题】证书如何避免中间人攻击?【英文标题】:How do certificate avoid the man in the middle attack? 【发布时间】:2011-04-25 19:30:00 【问题描述】:

我还有一个关于网络安全的问题。 如果我理解正确,证书用于识别您的真实身份。所以中间人攻击是不可能的。 但是当我看到这张图片时:

http://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Digital_Signature_diagram.svg/800px-Digital_Signature_diagram.svg.png

我认为中间人攻击是可能的。您可以从数据中拆分签名、证书。使用您的虚假数据制作您自己的签名,并将带有虚假签名(但正确的证书)的虚假数据发送到服务器/客户端。

我在这张图片中也不明白的是在验证方面检查证书的位置。

谢谢。

SC男孩

【问题讨论】:

【参考方案1】:

使用您的假数据制作您自己的签名,并将带有假签名(但正确的证书)的假数据发送到服务器/客户端。

问题是接收者随后会查看虚假签名,发现它与真实发送者的证书不匹配。

只有当您拥有该证书的正确私钥时,您才能创建与给定证书匹配的签名(即使证书本身是公开的,这就是非对称加密的魔力)。此私钥由证书所有者(消息的原始发送者)保密。

通过提前分发受信任的证书来防止中间人。 您必须信任证书的真实性,要么直接信任它们(根证书),要么信任证书上的一系列签名,直至您信任的一个。

如果中间的人能让你相信他的假证书是真的,那么整个系统就会失败。

【讨论】:

但是为什么证书与签名匹配。在***的图片中,签名是从数据而不是证书创建的?我没有看到证书和签名之间的上下文。 签名是使用数据和您的私钥创建的(链接到证书,证书包含匹配的公钥)。 澄清一下,用于签署给定证书的是颁发者的私钥。 阅读您的描述后我还有一个问题:听起来客户有责任验证证书是否正确?我只控制服务器端,并且可以在我端验证证书,但是如果客户端马虎并且没有验证,这并不能防止中间人攻击?想知道在设计 API 时是否有任何公司有办法确保在客户端进行验证,或者可能是他们简化/有据可查的示例。感谢您的回复! 是的,客户端需要验证证书。默认情况下,您的 SSL 软件堆栈会执行此操作。但有时人们会关闭它(因为处理自签名或过期的证书对他们来说太“麻烦”了)。并且客户端必须能够相信根证书是真实的。作为服务器,您无法确保(我认为)客户端确实做到了所有这些。像 iPhone 这样完全锁定的设备是您能得到的最接近的设备。

Refresh-Token (JWT) 如何避免中间人攻击?

】Refresh-Token(JWT)如何避免中间人攻击?【英文标题】:HowdoRefresh-Token(JWT)avoidtoman-of-themiddleattack?【发布时间】:2020-05-1200:39:03【问题描述】:我最近使用DotNet核心身份实现了JWT身份验证。我知道要减少身份验证的次数以获取Access-... 查看详情

charles抓取https数据的原理,如何防止中间人攻击

参考技术A阅读原文Charles作为一个“中间人代理”,当浏览器和服务器通信时,Charles接收服务器的证书,但动态生成一张证书发送给浏览器,也就是说Charles作为中间代理在浏览器和服务器之间通信,所以通信的数据可以被Charles... 查看详情

使用自签名证书时是不是可以防止中间人攻击?

】使用自签名证书时是不是可以防止中间人攻击?【英文标题】:Isitpossibletopreventman-in-the-middleattackwhenusingself-signedcertificates?使用自签名证书时是否可以防止中间人攻击?【发布时间】:2012-07-2809:16:02【问题描述】:我不确定之... 查看详情

我们一起来聊聊中间人攻击

  在聊中间人攻击之前,不了解HTTPS握手过程的同学可以查看我的前一篇HTTPS握手介绍。一、HTTPS握手过程(请点击)三、中间人攻击  https握手过程的证书校验环节就是为了识别证书的有效性唯一性等等,所以严格意... 查看详情

我们来一起说说https中间人攻击与证书校验

...的使用https,例如最常见的是未校验https证书从而导致“中间人攻击”,并且由于修复方案也一直是个坑,导致修复这个问题时踩各种坑,故谨以此文简单的介绍相关问题。  本文第一节主要讲述https的握手过程,第二节主... 查看详情

ssltls中间人攻击

生成私钥生成一个ca.key私钥签名然后用私钥生成一个伪造证书服务器的根证书生成一个伪造证书服务器的根证书ca.crt 在攻击主机启动路由转发功能或者echo1>/proc/sys/net/ipv4/ip_forward因为sslsplit工作在特定的端口上,设置端口... 查看详情

中间人攻击和 SSL [重复]

】中间人攻击和SSL[重复]【英文标题】:ManIntheMiddleAttacksandSSL[duplicate]【发布时间】:2014-03-2500:57:21【问题描述】:我正在使用OpenSSL通过HTTPS连接到我的一台服务器。但是我似乎无法让服务器验证在客户端工作。据我了解,不验... 查看详情

中间人攻击之劫持https明文数据(代码片段)

...考虑ssl证书的价格,至少https也不是绝对安全的,当遭受中间人劫持攻击的时候也会获取到传输中的明文数据,具体攻击原理见《HTTPS连接过程以及中间人攻击劫持》,但是这篇文章也说了,使用中间人攻击手段必须让客户端信... 查看详情

中间人攻击之劫持https明文数据(代码片段)

...考虑ssl证书的价格,至少https也不是绝对安全的,当遭受中间人劫持攻击的时候也会获取到传输中的明文数据,具体攻击原理见《HTTPS连接过程以及中间人攻击劫持》,但是这篇文章也说了,使用中间人攻击手段必须让客户端信... 查看详情

[安全]https的理解(代码片段)

...别,为什么要使用HTTPSHTTPS如何解决加密问题HTTPS如何避免中间人攻击CA证书是什么CA证书是如何申请和颁发的HTTPS的整体流程二、HTTP和HTTPS的区别HTTP是什么:首先,我们知道HTTP的全名是超文本传输协议,主要是用来供客户端(一... 查看详情

自己生成的ssl证书与购买的ssl证书有啥重要的区别?

...或截获您向服务器发送的数据!2.自签证书最容易受到SSL中间人攻击自签证书是不会被浏览器所信任的证书,用户在访问自签证书时,浏览器会警告用户此证书不受信任,需要人工确认是否信任此证书。所有使用自签证书的网站... 查看详情

企业为啥不能使用自签名ssl证书?

...A/B认证,所以不安全。安全隐患:自签证书最容易受到SSL中间人攻击自签证书支持不安全的SSL通信重新协商机制自签证书支持非常不安全的SSLV2.0协议自签证书没有可访问的吊销列表自签证书使用不安全的1024位非对称密钥对自签... 查看详情

如何在特定连接上使用不同的证书?

...点使用自签名证书。我有一份证书副本以验证我没有遇到中间人攻击,我需要将此证书合并到我们的代码中,以便与服务器的连接成功。这是基本 查看详情

重放攻击与中间人攻击有啥区别?

...给服务器,服务器就会做相应的操作,返回查询的信息。中间人攻击就不一样了,中间人攻击是攻击者把自己当作客户端与服务器端的中间人,客户端发送的信息会被攻击者截取然后做一些操作再发送给服务器端,服务器端响应... 查看详情

非对称加密的不足

...的公钥去加密,然后C在中间获取A发送给B的数据包,那么中间人攻击相当于还是有解决;所以用单纯的公钥还是没有办法解决;【黑客是如何窃取的公钥的呢?是cornercase还是不是?】如何保证我自己的计算机的安全,所以交换... 查看详情

如何在 iOS 上固定证书的公钥

...发现需要对服务器的SSL证书进行PIN(全部或部分)以防止中间人攻击。尽管有多种方法可以做到这一点,但当您搜索这个时,我只找到了固定整个证书的示例。这种做法会带来一个问题:一旦证书更新,您的应用程序将无法 查看详情

如何添加自签名ssl证书自签名ssl证书存风险

...核,不受浏览器和操作系统信任,常被用于伪造证书进行中间人攻击,劫持SSL加密流量。很多网站为了节约成本,采用自签名SSL证书,其实是给自己的网站埋下了一颗定时炸弹,随时可能被黑客利用。网站使用自签SSL证书存在极... 查看详情

ssh:远程登陆

...用于计算机之间的加密登录的前提是公钥为真,所以存在中间人攻击中间人攻击:与https协议不同,SSH协议的公钥是没有CA公证的,当对公钥的请求被中间截获时,中间人可以发出伪造公钥干坏事而不被识破为了避免中间人攻击... 查看详情