Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 黑客能否通过从客户端提取证书来创建MITM攻击';什么是信托商店?_Java_Security_Ssl_Reverse Engineering - Fatal编程技术网

Java 黑客能否通过从客户端提取证书来创建MITM攻击';什么是信托商店?

Java 黑客能否通过从客户端提取证书来创建MITM攻击';什么是信托商店?,java,security,ssl,reverse-engineering,Java,Security,Ssl,Reverse Engineering,我对SSL比较陌生,最终在Java中完成了SSL的代码实现之后,我对潜在的缺陷感到好奇 我的代码由两个sslsocket(其中一个是服务器端的SSLServerSocket)组成,并使用单向SSL身份验证。服务器包含具有CA签名证书的密钥库,客户端具有具有相同CA签名证书的信任库。如果我的理解是正确的,那么SSL握手以及其他许多事情可以确保对等证书是合法的,并且它与客户端信任库中的证书相匹配 有了这些知识,是否有人可以对我的客户端代码进行反编译,并从信任库文件中提取CA签名证书,目的是创建一个恶

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

我的代码由两个
sslsocket
(其中一个是服务器端的
SSLServerSocket
)组成,并使用单向SSL身份验证。服务器包含具有CA签名证书的密钥库,客户端具有具有相同CA签名证书的信任库。如果我的理解是正确的,那么SSL握手以及其他许多事情可以确保对等证书是合法的,并且它与客户端信任库中的证书相匹配


有了这些知识,是否有人可以对我的客户端代码进行反编译,并从信任库文件中提取CA签名证书,目的是创建一个恶意服务器,其密钥库包含CA签名证书?如果我的逻辑正确,这将允许中间人攻击。

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


如果攻击者能够将新的CA证书注入客户端信任存储,则情况会有所不同。在这种情况下,客户端还将信任攻击者CA颁发的证书,这使得攻击者能够模拟和MITM其他站点。

否。当服务器发送其证书时,它还发送一条由私钥签名的CertificateVerify消息。如果黑客没有私钥,他就不能这么做。不管怎样,证书是公共知识。重要的是保护与它们相关的私钥。一旦有人获得了私钥,那么是的,它可以模拟特定的身份。