【问题标题】:Bidirectional SSL communication on Android?Android上的双向SSL通信?
【发布时间】:2017-06-27 07:54:12
【问题描述】:

我想向网络服务器发送请求。它应该可以防止中间人攻击。因此,我在网络服务器 (https) 上创建了 SSL 证书。作为回应,我会得到一个随机字符串。这很好用。

但是我如何确保响应以防止其受到 MITM 攻击?应该如何将响应从网络服务器发送到 Android,我必须在 Android 上配置什么?我是否必须购买另一个受信任的证书?

【问题讨论】:

  • SSL/TLS 建立了一个传输通道,可以防止中间人攻击双向。这意味着请求和响应受到保护。无需特殊配置或额外证书,因为 SSL/TLS 始终在两个方向(即请求和响应)提供保护。

标签: android security ssl https bidirectional


【解决方案1】:

在典型的所谓 1-way TLS(又名“服务器证书身份验证”)设置中,服务器基本上会监听来自任何客户端的请求,但客户端只会信任具有有效权限的服务器证书。当客户端认为可以信任收到的证书时,就可以打开通信通道,双向加密。

所谓的 2-way TLS(也称为“客户端证书身份验证”或“相互身份验证”)设置意味着两端都向另一端提供证书。换句话说,您的服务器将仅信任某些客户端(提供有效证书的客户端)。这不会影响您对 MITM 的保护。您只会限制受信任的客户端池。

因此,作为一个结论 - 如果您唯一关心的是保护您的通信免受 MITM 攻击,那么 1-way TLS 就可以了。

TLS v1.2:https://www.rfc-editor.org/rfc/rfc5246

【讨论】:

  • 很好的解释。谢谢
  • 我不相信 "1-way TLS""2-way TLS" 是用于描述协议的标准术语。另见RFC 5246
  • 对,虽然我仍然不确定它们是否是标准术语,但我稍微编辑了帖子并添加了两者的同义词。另一方面,我也看到使用这些术语的文献和在线材料,包括 CISSP。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-24
  • 1970-01-01
相关资源
最近更新 更多