【问题标题】:SSL alternative for secure handshake?安全握手的 SSL 替代方案?
【发布时间】:2016-08-06 06:53:49
【问题描述】:
  1. 我很好奇服务器是否可以通过任何方式验证客户端,而无需知道客户端是完全“友好”的代码,它不监视 1) 用户的输入或 2) 网络请求。

我能想到的唯一方法是,如果浏览器有一个内置的、安全的、隔离的外壳/作用域,可以散列和发送数据(可以通过互补的服务器反散列/查找脚本进行验证)。


  1. 是否有任何浏览器支持的(非 DOM)输入/散列方法可以安装在服务器上以识别真实性或用户输入?我想避免 Chrome 扩展程序和潜在的键盘记录,但我不确定是否有任何浏览器支持此功能。

谢谢


编辑

我认为在单独的窗口中使用某种形式的两步验证是最接近的,但我没有 SSL,而且我不喜欢随机“弹出”窗口的呈现方式

【问题讨论】:

  • 我建议将此问题移至 security.stackexchange.org。

标签: javascript security ssl iframe


【解决方案1】:

如果我正确理解您的问题,您要求提供证据,证明输入表单的数据既不是由恶意软件操纵也不是由恶意软件生成的。但是您(作为服务器的操作员)无法控制客户端。

只要您无法控制客户端,这是不可能的,因为无法在网络级别区分用户生成的数据和软件生成的数据,而这就是您在服务器上获得的全部内容。甚至浏览器扩展生成的输出也可以伪造。

我认为某种形式的两步验证是最接近的

2FA 仅与客户端身份验证相关,无法防止用户生成的数据被篡改。

安全握手的 SSL 替代方案?

SSL 仅保护传输,不会阻止在恶意浏览器扩展程序或类似扩展程序中修改用户输入。它也不能防止客户端机器上的恶意人员(即Superfish 或类似)。

【讨论】:

  • 感谢您的回复。是的,我担心没有孤立的环境,键盘记录器无法捕获浏览器中的输入,除了 SSL 服务环境。我觉得应该有一种方法可以将身份验证和按键切换到设备/浏览器(如 iPhone touchID)
  • 我担心中间人被拦截,并且不希望用户将他的密码暴露给全球环境,因为他可能正在运行可以监控他的输入的内容脚本
  • @neaumusic:在目前的形式中,问题并没有清楚地说明您担心什么。中间人可以做与浏览器中的人不同的事情,这也不同于系统上的通用恶意软件等。也许你应该从描述你试图解决的原始问题开始,而不是你想要解决它的方式(参见XY problem)。解决此类问题的更好网站可能是 security.stackexchange.com。
  • 如果您提出具体问题,我可以帮助澄清。中间人是在服务器收到密码之前读取您的密码的人。如果没有潜在的键盘记录器或<input> 检查窃取您输入的每个密码和电子邮件的代码,就没有本地方法来验证用户身份。我只是应该与 Adblock 和其他扩展保持同步??如果用户安装了许可的扩展,SSL 就不安全,对吧?浏览器和操作系统应该有用于私下发送经过身份验证的请求的钩子,而不是反映在 dom 上,但我不知道这些是什么
  • @neaumusic:您最后的评论听起来好像您只是在询问如何保护身份验证部分。相反,最初的问题听起来像是您在询问一般保护用户输入的问题。 2FA 甚至一个因素,其中因素是一个单独的设备(“拥有”而不是“知道”)可能对第一个有帮助,但对第二个没有帮助。
猜你喜欢
  • 2011-10-03
  • 1970-01-01
  • 2016-03-15
  • 1970-01-01
  • 2017-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多