独特的设备识别

问题描述 投票:49回答:3

我们正在开发基于网络的内部应用程序,用于查看数据报告,同时针对智能手机和平板电脑。我们的客户询问我们是否只有某些设备才能访问该内容。因此,我们使用基于javascript / HTML5的技术,我们无法读取IMEI或设备uuid等唯一ID。我们的想法是能够使用上述技术自动创建与时间无关的设备指纹。

问题是我们能够用javascript / HTML5创建独特的设备指纹吗?

线索可能是浏览器可用或已知的信息(例如http://browserspy.dk/

javascript jquery html5
3个回答
89
投票

您可以使用fingerprintJS2库,它可以帮助您计算浏览器指纹。

顺便说一句,在Panopticlick上你可以看到它通常是多么独特。


2
投票

看起来phoneGap插件可以让你获得设备的uid。

http://docs.phonegap.com/en/3.0.0/cordova_device_device.md.html#device.uuid

更新:这取决于运行本机代码。我们使用此解决方案编写了正在编译的javascript,用于我们正在创建的本机电话应用程序的本机代码。


0
投票

我有以下想法如何处理这样的访问设备ID(ADID):

Gen ADID

  • 准备网页https://mypage.com/manager-login,其中可信用户例如经理可以从设备登录 - 该页面应显示按钮“授予对此设备的访问权限”
  • 当用户按下按钮时,页面向服务器发送请求以生成ADID
  • server gen ADID,将其存储在白名单中并返回页面
  • 然后将页面存储在设备localstorage中
  • 可信用户现在注销。

使用设备

  • 然后其他用户例如使用相同设备的员工转到https://mypage.com/statistics并将页面发送到服务器请求统计信息,包括参数ADID(之前存储在localstorage中)
  • 服务器检查ADID是否在白名单中,如果是,则返回数据

在这种方法中,由于长时间用户使用相同的浏览器并且不重置设备,因此设备可以访问数据。如果有人进行了设备重置,那么再次信任的用户需要登录并生成ADID。

您甚至可以为受信任的用户创建一些ADID管理系统,在生成ADID的同时,他还可以输入设备序列号,并且将来在设备重置的情况下,他可以找到该设备并为其重新生成ADID(这不会增加白名单大小)也可以从白名单中删除一些ADID,用于他不再能访问服务器数据的设备。

如果系统使用多个域/子域名管理员登录后应该看到许多“从域xyz.com访问此设备”按钮 - 每个按钮将重定向设备做正确的域,gent ADID和重定向回。

UPDATE

替代Gen ADID:

  • 管理员使用任何设备登录系统并生成一次性使用链接https://mypage.com/access-link/ZD34jse24Sfses3J(例如24小时工作)。
  • 然后,经理将此链接发送给员工(或其他人),将该链接放入设备,服务器将ADID返回到将其存储在本地存储中的设备。在上面的链接停止工作后 - 所以只有系统和设备知道ADID
  • 然后使用此设备的员工可以从https://mypage.com/statistics读取数据,因为它具有服务器白名单上的ADID
© www.soinside.com 2019 - 2024. All rights reserved.