2

我正在努力保护我为学校编写的应用程序与服务器后端之间的通信。我最初的计划是在 Android 客户端和我的 PHP 服务器之间建立一个 Diffie-Hellman 交换。但是,我知道 SSL 使用了一个非常相似的(如果我理解正确的话,它可能是相同的)公钥交换协议,并且似乎有更多的原生支持和更好的文档。

在我的应用程序中使用硬编码的证书切换到自签名 SSL 会比设置 Diffie-Hellman 交换更好/更差吗?一个会提供更好的网络/电池/CPU性能吗?

我知道这两种方法都不能真正防止中间人攻击,但是,在这一点上,我的首要任务只是防止窃听者。

4

2 回答 2

3

使用 SSL。它已经完成了,如果你正确使用它,它就不会受到 MITM 的攻击。

于 2013-09-24T00:03:16.767 回答
1

正如之前的作者所说,DH 很容易受到 MITM 攻击,所以远离它。

用户自签名 SSL。这将为您提供数据完整性和机密性。SSL 不容易受到 MITM 的攻击,而且性能方面非常快。Google 关于 SSL 性能的研究... https://www.imperialviolet.org/2010/06/25/overclocking-ssl.html

将服务器证书导入您的客户端,以便客户端可以与服务器进行 SSL 握手。

于 2013-09-24T01:00:22.333 回答