【发布时间】:2016-03-12 18:30:27
【问题描述】:
如果我在服务器和 Android 客户端之间交换 https 数据包,Android 客户端的用户是否容易获得加密流量中的任何内容?如果安全取决于用户无法以某种方式读取 https 数据包中的内容,我是否应该认为所有此类流量不安全?
【问题讨论】:
如果我在服务器和 Android 客户端之间交换 https 数据包,Android 客户端的用户是否容易获得加密流量中的任何内容?如果安全取决于用户无法以某种方式读取 https 数据包中的内容,我是否应该认为所有此类流量不安全?
【问题讨论】:
有几种方法可以检查 HTTPS 数据包的内容。 man-in-the-middle-attack 可能会危及 HTTPS 流量。通过中间人,恶意第三方拦截试图通信的两方之间的消息,并检查或更改他们的消息。使用 HTTPS,第三方充当代理,并且需要诱使一方信任他们颁发的证书,以便第三方可以解密他们的 SSL 连接。
用户还可以在将流量发送到您的服务器之前代理他们自己的流量。使用OWASP ZAP 或Burp Suite 等工具,用户可以设置代理来拦截自己的流量。用户可以看到他们发送的每个请求的内容,以及来自服务器的每个响应,即使使用 HTTPS 连接也是如此。通过拦截代理,他们甚至可以在将 Android 设备发送到您的服务器之前更改其发出的请求。本质上,用户对自己使用了中间人攻击。
简而言之,用户可以想办法轻松查看进出自己设备的 HTTPS 流量。
【讨论】:
有一些简单的代理攻击,用户可以通过一些技巧相当容易地查看未加密的数据。
为避免这些相对简单的攻击,请在支持 TLS 1.2 和完美前向保密(当前最佳实践)的服务器上使用 https,并将证书固定在应用程序中。这将排除诸如 Charles Proxy 之类的简单代理攻击。
注意:从所有者那里完全保护设备上的任何东西是非常困难的。
【讨论】: