如何实现安全登录表单的虚拟键盘



我的老板给了我一张空白支票,以便开发一个非常安全的登录表单。我一直在研究如何使用用户名、密码和验证码来做到这一点。此问题参考密码输入。我相信最好的方法是实现虚拟键盘

虚拟键盘REST 向前端发送一个包含 10 个数字的数组,此数组中的每个数字都指示将在视图中呈现的键的位置。用户将使用此生成的键盘键入其密码,然后按 Login 。post请求会将虚拟键盘中按下的键的位置发送到后端。后端会将位置与实际引脚使用编号匹配。

我的问题:

  1. 这是实现此组件的正确方法吗,我错过了什么吗?
  2. 是否有人有做这种事情的经验来分享一些关于良好实践、链接或任何专有技术的知识?

也许不是一个确切的问题,但我认为这有助于了解银行应用程序中非常使用的此组件。

注意:显然,为了安全起见,所有请求和响应都将使用令牌。

这将击败最简单的通用键盘记录木马,但它无法防止:

a. 更复杂的现代木马,例如,每次点击登录页面时都会截取鼠标下方内容的迷你屏幕截图,特别是默认虚拟键盘;

b. 任何足够关心你的网站的东西,专门针对它并绕过你的代码。

最终,您无法战胜客户端特洛伊木马(浏览器中的人)攻击。攻击者的代码以比您更高的权限级别工作,因此您可以采取任何措施来防御,攻击者都可以解决。

充其量,您可以使变通方法比攻击者更烦人。这很容易成为军备竞赛。但是您采取的任何此类措施都会损害您网站的可用性和可访问性。对于大多数站点,虚拟键盘提供的有限保护被客户的不便所抵消。

相关内容

  • 没有找到相关文章

最新更新