我想在一个非常敏感的登录区域中添加一些安全性。我已经阅读了有关Keystroke Dynamics的文章,并且发现它非常有趣:如果无法识别键入模式,我可以询问更多信息。有没有jQuery实现?您能给我有关行为两因素身份验证的其他提示吗?

最佳答案

没有一个免费的通用解决方案,如何在任何项目中使用Keystroke Dynamic(据我所知)。但是,您可以使用基本的jQuery函数计算字母之间的动态,然后将其与您的登录名和密码一起发送给服务器,并且服务器可以评估现在提供的动态差异,并在注册新用户时进行存储(您需要自己的算法)。
我为您创建一个简短的示例。

Online demo for save Keystroke dynamics with javascript

var tmr = []; // array to save keyup times
$('#pwd').keyup(function(evt) {
    tmr.push({"tmr":evt.timeStamp,
              "cod":evt.which});
    console.log("Key code: "+evt.which+" On time: "+evt.timeStamp);
});


然后,您可以像使用html表单中的任何其他输入一样,使用密码发送结果并登录。
您可以这样计算动力学时间:

    var ret = "";
    for(var i = 0; i < tmr.length - 1; ++i) {
        ret += ((i>0)?";":"") + (tmr[i+1].tmr - tmr[i].tmr);
    }


然后,您必须自己创建脚本,以使用存储给用户的动态评估实际动态。也许我会帮你一点。祝好运。

09-19 15:13