网络身份验证:使用指纹扫描程序

时间:2016-04-07 20:07:42

标签: web applet raspberry-pi fingerprint

已经存在一个基于Raspberry Pi的终端,它的工作就是显示一个网站。这非常有效。最终用户只有一个触摸屏来完成所有操作,屏幕上只有一个网页。

使用用户名和密码完成用户身份验证。两者都很短,因为终端使用触摸界面,安全性对于用例并不是极其重要。

因为输入用户名/密码仍然相对时间密集,我想在终端上使用指纹扫描仪。用户身份验证仍应在服务器端完成。在第一步中,客户端和服务器之间的通信不是很重要(客户端和服务器始终位于同一本地网络中)。

我的想法现在是:

  1. Futronic F88添加到终端。 (It works with the RaspberryPi
  2. futronic API用于编写一个小程序,它只是读取扫描仪并将图像存储在本地某处。
  3. 终端显示的目标网站包含一个已签名且具有所有本地权限的隐藏Java Applet。
  4. 如果用户连接到网站,则启动Applet并运行本地程序以读出指纹图像。然后将该图像发送到服务器,在那里与一些本地存储的图像进行匹配。
  5. 服务器使用SourceAFIS之类的软件来匹配指纹。
  6. 当然,网站总是知道当前的应用程序状态,并向用户提示要做什么(例如“立即扫描你的手指”)。
  7. 这有用吗?我认为最困难的一点是做Applet的事情。是否有可能做到这一点?特别是没有任何警告。用户甚至不应该知道他使用的是网站而不是本地应用程序。

    或者使用Java Applet访问本地USB连接的指纹扫描仪还有其他“清洁”的想法吗?例如。自定义浏览器插件?

    非常感谢

1 个答案:

答案 0 :(得分:2)

我质疑用户不知道他们使用独立Java应用程序的好处。 Java小程序很痛苦。如果您刚刚使用了独立的Java程序,则可以执行此操作:

  1. Java程序等待指纹扫描。
  2. 扫描指纹,Java通过https将图像上传到服务器,获取一次性密钥(用于有效扫描)或指示扫描无效的消息。
  3. Java或者告诉用户有关无效扫描的信息并返回步骤1,或者有效扫描进入步骤4.
  4. Java编写一个包含以下内容的本地html页面:
    • 一次性令牌
    • 提交一次性令牌的表单
    • 在登录时提交表单的JavaScript。
  5. Java打开浏览器到该临时页面。
  6. Java会在浏览器关闭时删除该页面。
  7. Applet永远不会得到支持,而且设置起来很痛苦。每次更新浏览器或JRE时,您都必须重新允许所有允许您执行此操作的权限。小程序也很难测试。

    我上面概述的独立解决方案不需要JRE和浏览器进行协调,升级也不会破坏它。实际上,通过调用OS的首选程序来处理.html文件而不是启动特定的浏览器,它可以完全与浏览器无关。