防止中间人攻击,而使用HTTPS(Preventing man in the middle atta

2019-10-23 07:41发布

我写类似Omegle的一个小应用程序。 我用Java编写的HTTP服务器和客户端这是一个html文件。 沟通的主要方式是通过HTTP请求(长轮询)。

我已经使用https协议来实现某种安全的,我必须为每个连接到服务器的客户端securityid。 当客户端连接,服务器给它一个securityid客户端必须总是发送回来时,它想的请求。

恐怕这个人在这里中间人攻击的,你有我怎么能保护该应用从这种攻击的任何建议。

请注意,这个程序是建立理论的目的,它不会被使用过实际的原因使您的解决方案不必是一定实用。

Answer 1:

HTTPS不只做加密,而且服务器的身份验证。 当客户端连接,服务器显示它有其领域的有效和可信证书。 此证书不能简单地被欺骗或由人在这方面的中间人重播。



Answer 2:

因为网络带来太多的并发症只需启用HTTPS不够好。

首先,确保你设置上的cookie的安全标志,否则他们会被偷走。

这也是一个不错的主意,以确保用户只能通过输入访问该站点https://<yourdomain>在地址栏,这是保证HTTPS会话与有效证书做出的唯一途径。 当您键入https://<yourdomain>浏览器会拒绝让你在网站上,除非服务器提供了一个有效的证书<yourdomain>

如果你只需要输入<yourdomain>无https://开头前,浏览器并不会在意会发生什么。 这有两个含义,我能想到的把我的头顶部:

  1. 攻击者重定向到具有类似名称的一些Unicode的域(即:看起来相同,但有一个不同的二进制字符串,因此是一个不同的域),然后攻击者提供了该域的有效证书(因为他拥有它),用户可能不会注意到这一点...

  2. 攻击者可以模拟服务器,但没有HTTPS,他会到真实服务器自己的安全连接,并成为您与服务器之间的明文代理,他现在可以捕获所有流量,做任何他想要的,因为他拥有您的会话。



文章来源: Preventing man in the middle attack while using https