繁体   English   中英

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

[英]How to implement virtual keyboard for secure Login form?

老板给了我一张空白支票,目的是开发一种极其安全的登录表格。 我一直在研究如何使用用户名,密码和验证码。 此问题参考密码输入。 我认为最好的方法是实现虚拟键盘

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

我的问题:

  1. 这是实现此组件的正确方法,我是否缺少某些东西?
  2. 是否有人有做这种事情的经验,以分享有关良好做法,链接或任何专门知识的知识?

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

注意:显然,所有请求和响应都将使用令牌进行安全保护。

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

一种。 更复杂的现代特洛伊木马程序,例如,在登录页面上的每次单击中对鼠标下方的内容进行微型截屏,特别是默认虚拟键盘;

b。 任何对您的网站足够在意的内容都可以专门针对它并解决您的代码。

最终,您将无法抵抗客户端木马(浏览器中的人)攻击。 攻击者的代码正在以比您更高的特权级别工作,因此您可以做的任何防御工作都可以解决。

充其量您可以使解决问题的烦恼超过攻击者的价值。 这很容易成为军备竞赛。 但是,您采取的任何此类措施都会损害网站的可用性和可访问性。 对于大多数站点,客户的不便超过了虚拟键盘所提供的有限保护。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM