我正在开发一个需要ECDH密钥交换的项目。我想了解如何防止MITM攻击。我可以签署公钥并发送签名以及公钥传输,以确保密钥没有被篡改,但这并不能阻止MITM攻击只是做同样的事情。我知道密钥交换必须由第三方以某种方式进行验证,但我很难理解假设有人可以进行MITM攻击,第三方可以成为解决方案。为什么他们不能仅仅通过第三方验证来做MITM呢?如果没有双方预先知道的情况,是否真的能够完全消除所有可能的MITM攻击?保护ECDH免受MITM攻击
回答
您需要一位¹值得信赖的第三方签署两个密钥。
如果没有任何关于目标伴侣身份的知识或断言,根本无法将他与其他人区分开来。
¹一个或多个 ²鲍勃
在PKI系统中, “认证机构” 是基础设施的重要组成部分。认证机构签署公钥和标识信息,以便您知道相应的私钥确实属于声称的身份。对于EC密钥,这与RSA一样。
顺便说一句,I've looked for CAs that issue EC certificates,,显然他们没有实际使用。
大多数人获得其认证机构的证书作为其操作系统或安全应用程序的一部分。他们隐含地信任这些证书。虽然这里有几个危险。
首先,大多数用户没有一种有效的方法来验证这些证书的完整性。这是一个相当困难的问题,因为从根本上讲,您必须拥有一个100%可信赖的渠道,用于验证授权和攻击者无法篡改的用户之间的通道。当用户使用一系列根证书下载新浏览器时,他无法知道该软件在传输过程中是否被篡改,甚至无法在集合中使用伪造的CA证书进行构建。
即使收到的证书收集完整无误地作为提供者的意图,也有人对流行软件默认包含的许多认证机构的完整性提出了质疑。例如,有人指出,与恐怖主义有关的国家的电信公司将其证书纳入流行的浏览器中。任何可信任的权威机构都可以为任何域名颁发证书,并且浏览器将毫无疑问地接受它。
总之,不,没有办法建立一个安全通道,而不先在安全通道上共享一些信息。 PKI和非对称加密技术的好处是,在安全通道(接收可信机构证书)上交换一个一个允许与许多各方建立安全通道。但是你必须以某种方式引导系统。
这听起来像你正在滚动你自己的加密协议的路径。不要这样做。这是一个坏主意。它导致不安全的系统。
而是使用SSL或TLS。这是为了解决设计这种加密协议中的微妙问题而设计的 - 并且它已经过严格审查。您需要一种方法来验证另一端点的证书。您可以使用证书颁发机构,或者在某些情况下,对您期望与之交谈的实体的公钥进行硬编码可能是可行的。
如果您询问Crypto堆栈交换,您可能会得到更好的答案。
请记住,以前发现了SSL和TLS版本中的许多漏洞,并且可能会有更多的漏洞我们不知道。 –
- 1. 如何保护WebRTC免受MitM攻击?
- 2. 保护自己免受Dos攻击
- 3. 保护api免受重播攻击
- 4. 如何保护java.lang.Object的受保护方法免受子类攻击?
- 5. Exchange 2010 MITM攻击
- 6. 可以确保我的反应本机应用程序免受MITM攻击吗?
- 7. 如何使用iXGuard保护iOS应用程序免受攻击者攻击
- 8. 如何保护.NET Web服务免受XXE漏洞攻击?
- 9. 保护亚马逊网络服务(AWS)S3免受DDoS攻击
- 10. 如何保护网站免受DoS攻击
- 11. 如何保护Angular 2 SPA免受XSS攻击?
- 12. 如何保护Web服务免受拒绝服务攻击?
- 13. 保护bios免受攻击性很强的程序
- 14. 如何保护Symfony登录免受计时攻击?
- 15. 配置nginx来保护Windows服务器免受攻击
- 16. WCF安全 - 在中间攻击中保护人免受
- 17. 如何使用HTTPOnly Cookies来保护JWT免受XSRF攻击?
- 18. 保护基于WIF的会话免受相关域Cookie攻击
- 19. Cocoa UI和一般框架元素如何被保护免受恶意攻击?
- 20. HAProxy通过默认保护自己免受tcp syn泛滥攻击
- 21. 如何保护Tibco BW免受POODLE攻击? (SSL 3.0协议漏洞)
- 22. 如何保护视频文件(.swf播放器)免受黑客攻击?
- 23. 如何做一个CORS过滤器保护我免受XSS攻击
- 24. Facebook如何保护网站免受未经验证码的攻击
- 25. 如何保护我的PHP网页免受未授权用户的攻击
- 26. 保护window.opener免受更改
- 27. 保护Firebase数据库免遭点黑客攻击
- 28. 保护移动应用程序免遭中间人攻击
- 29. 用OpenCart保护SQL注入攻击2.3.0.2
- 30. 从DoS攻击保护nginx的
没错,但是为什么在第三方签名过程之间不能有MITM? – hobeau
@hobeau呃,你需要一些带外机制来创造信任,无论是托伦特和鲍勃之间还是爱丽丝和鲍勃之间。没有任何办法可以获得身份(或信任)。 – phihag