我想向网络服务器发送请求。它应该是安全的,以抵御中间人攻击。因此,我在Web服务器(https)上创建了SSL证书。作为回应,我会得到一个随机字符串。这很有效。
但是如何保护响应以保护它免受MITM攻击?应该如何从网络服务器向Android发送响应以及我必须在Android上配置什么?我是否必须购买另一张值得信赖的证书?
答案 0 :(得分:1)
在典型的所谓的 1-way TLS (又名“服务器证书身份验证”)设置中,服务器将从基本上任何客户端侦听请求,但客户端只会信任具有有效性的服务器证书。当客户认为它可以信任收到的证书时,可以打开通信信道,并且它将以双向加密。
所谓的 2-way TLS (a.k.a“客户端证书身份验证”或“相互身份验证”)设置意味着两端都向另一端提供证书。换句话说,您的服务器只会信任某些客户端(提供有效证书的客户端)。这对您对MITM的保护没有任何影响。您只是限制可信客户端池。
所以作为结论 - 如果您唯一关心的是保护您的通信免受MITM攻击,那么单向TLS就可以了。
TLS v1.2:https://tools.ietf.org/html/rfc5246