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

时间:2015-06-18 04:46:27

标签: security keyboard frontend

我的老板给了我一张空白支票,以便开发一个非常安全的登录表单。我一直在研究如何使用用户名,密码和验证码进行此操作。这个问题是指密码输入。我认为最好的方法是实现虚拟键盘

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

我的问题:

  1. 这是实现此组件的正确方法吗,我错过了什么吗?
  2. 是否有人有这方面的经验来分享有关良好做法,链接或任何技术诀窍的知识?
  3. 也许这不是一个确切的问题,但我认为这有助于了解这个在银行应用程序中非常常用的组件。

    注意:很明显,所有请求和响应都将与令牌一起使用以确保安全。

1 个答案:

答案 0 :(得分:1)

这会击败最简单的通用键盘记录木马程序,但它无法阻止:

一个。更复杂的现代木马,例如,在登录页面上每次点击时,只需截取鼠标下的内容,特别是默认虚拟键盘;

湾任何关心您网站的内容,专门针对它并解决您的代码。

最终,你无法赢得客户端木马(浏览器中)攻击。攻击者的代码正在使用比您更高级别的权限,因此您可以采取任何措施进行防御,攻击者可以解决此问题。

充其量,你可以让它更烦人的工作,而不是攻击者的价值。这很容易成为一场军备竞赛。但是,您采取的任何此类措施都会损害您网站的可用性和可访问性。对于大多数站点而言,虚拟键盘提供的有限保护功能远远超过了客户的不便。