在使用OpenSSL创建安全连接时,我需要一些帮助,以便可以检测到中间人攻击。
我有一个可下载的软件,该软件使用TLS连接连接到我们的服务器。我已经将我们的CA证书与该软件捆绑在一起,以便它可以验证主机和中间人攻击。
+---------------------+ +----------------+
| | | |
| | TLS connection | |
| Client Software + | |
| + Our CA certificate +------------------->+ Server |
| + | |
| | | |
+---------------------+ +----------------+
但是,如果下载该软件的用户欺骗了DNS,用伪造的证书替换了CA证书并造成了中间人的情况。在这种情况下,CA验证将通过,客户端软件将无法检测到MITM。
+----------+------+ +------+-----------+ +-----------------+
| Client + | | MITM + | | Server |
| Fake CA cert | TLS | our CA cert | TLS | |
| +---------->+ +--------->+ |
| | | | | |
+-----------------+ +------------------+ +-----------------+
有关如何检测此类攻击的任何建议,以便客户端软件可以采取适当的措施。