黑客可以通过从客户端的truststore中提取证书来制造MITM攻击吗?

问题描述 投票:0回答:1

我对SSL比较陌生,在终于完成了SSL在Java中的代码实现后,我对潜在的缺陷感到好奇。

我的代码包括两个 SSLSockets (其中一个是 SSLServerSocket 在服务器端),并使用单向SSL认证。服务器包含一个带有CA签名证书的KeyStore,而客户端则有一个带有相同CA签名证书的TrustStore。如果我的理解是正确的,SSL握手,以及其他许多事情,确保同行证书是合法的,并且它与客户端TrustStore中的证书相匹配。

有了这些知识,会不会有人反编译我的客户端代码,从TrustStore文件中提取CA签名的证书,意图用包含CA签名证书的KeyStore创建一个恶意服务器?如果我的逻辑是正确的,这将允许中间人攻击。

java security ssl reverse-engineering
1个回答
2
投票

信任存储中的证书只是用来验证服务器证书是否有效,即本地可信。反正这些CA证书通常都是公开的,即攻击者不需要从客户端的信任存储中提取。

如果攻击者能够将一个新的CA证书注入到客户端的信任存储中,情况就不同了。在这种情况下,客户机也会信任由攻击者的CA颁发的证书,这使得攻击者有可能冒充和MITM其他网站。

© www.soinside.com 2019 - 2024. All rights reserved.