一种用户设备指纹的提取和识别方法及系统的制作方法

文档序号:10624918阅读:443来源:国知局
一种用户设备指纹的提取和识别方法及系统的制作方法
【专利摘要】本发明公开了一种用户设备指纹的提取和识别方法及系统,采用了收集设备CPU时钟偏移的方式,实现对当前设备的识别,与现有技术相比,用户不再必须安装插件,简化了操作流程,也避免了控件可能失效的风险提高了稳定性;设备的时钟偏移几乎无法修改,所以相对于传统的依据mac地址等硬件信息的方式准确度更高。同时本发明方法在不需要安装控件的情况下实现设备的识别,提高了用户体验。经过长时间大量的模拟测试,分析设备的历史数据,通过观察同一设备的历史ip地址的变化情况,计算出精确度在99%左右。
【专利说明】一种用户设备指纹的提取和识别方法及系统
[0001]
技术领域
[0002]本发明属于互联网领域,涉及一种设备指纹的提取和识别方法及系统。
[0003]
【背景技术】
[0004]随着互联网业务的发展,对于用户身份的识别有越来越高的要求,传统方式依靠用户名密码,这种方式的弊端就是密码容易泄露,密码过于简单甚至可以通过暴力破解的方式进行破解,在这个背景下,考虑对用户使用的设备进行识别。现在的技术基本通过安装控件的方式提取机器的MAC地址,CPU的编号,硬盘编号等一些硬件设备的信息作为机器的指纹,这种方式的准确率很高但是缺点也很明显,需要用户安装控件,用户体验感差,同时控件容易与其他安装的应用程序发生冲突导致浏览器出现异常,有些第三方杀毒软件会将控件识别为病毒提示用户卸载,所以通过控件方式识别设备同时存在稳定性问题。
[0005]

【发明内容】

[0006]技术问题:本发明提供一种在用户无感知的情况下通过获取机器属性对设备进行识别,无需用户安装控件、提高了用户体验的用户设备指纹的提取和识别方法及系统。
技术方案:本发明的用户设备指纹的提取和识别方法,包括以下步骤:
1)通过设置在页面中的脚本收集访问该页面的用户设备系统信息;
2)解析用户设备系统信息,获取该用户设备的系统时间,并计算系统时间与世界标准时间的时钟偏移速度;
3)根据所述时钟偏移速度和用户设备系统信息计算该用户设备的simhash值,并用该simhash值作为设备识别指纹。
[0007]本发明方法的优选方案中,还包括:
计算该用户设备的simhash值与存储的各用户设备simhash值之间的海明距离;如果有一个海明距离小于判定阈值,则判定该用户设备与对应的存储的用户设备为同一设备,否则判定该用户设备为新设备,并存储该用户设备的simhash值。
[0008]本发明方法的优选方案中,用户设备系统信息包括系统版本、浏览器的版本、浏览器语言、浏览器插件信息。
[0009]本发明方法的优选方案中,用户设备系统信息还包括以下一种或其任一组合:用户代理信息、浏览器生产商和时区。
[0010]本发明方法的优选方案中,用户设备系统信息还包括以下任一种或两种的组合: 使用浏览器窗口对象的屏幕子对象收集的当前屏幕的显示窗口信息,所述显示窗口信息至少包括屏幕分辨率和颜色深度;使用flash脚本收集的当前系统的flash版本信息、系统字符集、音频信息和系统语言。
[0011]本发明方法的优选方案中,还包括:解析浏览器客户端的ip地址,获取省市区、经炜度,并将其应用到计算该用户设备的simhash值中。
[0012]本发明方法的优选方案中,simhash值根据该用户设备的时钟偏移速度和用户设备系统信息,及设定的各参数权重,采用simhash算法计算得到。
[0013]本发明的用户设备指纹的提取和识别系统,包括:设备信息采集单元,用以通过设置在页面中的脚本收集设备系统信息收集访问该页面的用户设备系统信息;系统时间获取单元,用以解析用户设备系统信息,获取用户设备的系统时间;时钟偏移速度计算单元,用以计算用户设备系统时间与世界标准时间的时钟偏移速度;Simhash算法单元,用以根据所述时钟偏移速度和用户设备系统信息计算该用户设备的simhash值,并用该simhash值作为设备识别指纹。
[0014]本发明系统的优选方案中,还包括:数据库,用以存储用户设备的simhash值;海明距离计算单元,用以计算本次采集用户设备的simhash值与存储的各用户设备 simhash值之间的海明距离,设备指纹识别单元,如果海明距离计算单元获得的海明距离中,有一个小于判定阈值, 则判定该设备与对应的存储的设备为同一设备,否则判定该设备为新设备,并将其simhash 值和设备信息存到数据库中。
[0015]本发明系统的优选方案中,还包括地理位置信息获取单元,用以解析浏览器客户端的ip地址,获取省市区、经炜度。
[0016]有益效果:本发明与现有技术相比,具有以下优点:本发明所使用的方法,采用了收集设备CPU时钟偏移的方式,实现对当前设备的识别, 与现有技术相比,用户不再必须安装插件,简化了操作流程,也避免了控件可能失效的风险提高了稳定性;设备的时钟偏移几乎无法修改,所以相对于传统的依据mac地址等硬件信息的方式准确度更高。
[0017]同时本发明方法在不需要安装控件的情况下实现设备的识别,提高了用户体验。 经过长时间大量的模拟测试,分析设备的历史数据,通过观察同一设备的历史ip地址的变化情况,计算出精确度在99%左右。
[0018]【附图说明】
[0019]图1是本发明实施例的方法流程图。
[0020]图2是本发明另一实施例的系统结构图。
[0021]【具体实施方式】
[0022]下面结合实施例和说明书附图对本发明作进一步的说明。
[0023]本发明实施例的方法流程,请参阅图1所示,在运行设备指纹提取方法前,需要先在注册或登录页面等交互页面嵌入脚本,在页面被打开时执行脚本开始收集设备系统信息,计算用户设备的系统时间与世界标准时间的时钟偏移速度,根据时钟偏移速度和用户设备系统信息计算该用户设备的simhash值,并用该simhash值作为设备识别指纹,具体内容如下:
I)使用浏览器窗口对象收集当前设备的系统版本、浏览器的版本、浏览器语言和浏览器插件信息,其中的浏览器窗口对象(window)是脚本(JS)中最大的对象,它描述的是一个浏览器窗口,通过这个窗口可以获得许多浏览器属性。
[0024]2)后台服务端根据接收到的客户端发送请求解析TCP报文(浏览器客户端发送请求到服务端使用HTTP协议,此协议是基于TCP连接的,因此可以获得传输的TCP报文信息),从解析得到的TCP报文的头信息中获取浏览器客户端所在的设备系统内部时间,然后计算系统时钟偏移速度,即系统内部时间与世界标准时间的偏移速度。
[0025]具体计算方法为:以世界标准时间为横坐标,单位为10毫秒,系统内部时间减去标准时间为纵坐标,单位为微秒,通过计算相邻两点所连直线的导数,得出所有导数的值,接着取所有导数的平均值,该平均值即为偏移速度。
[0026]由于每个设备的系统内部时钟通过CPU计数器进行累加得到,是设备内部时钟计数器记录的时间,在记录时间时会因为温度,内部接线的长度、地理位置等因素的影响而产生偏移,使得这个时间与世界标准时间存在差异。研究表明,不同两台设备的系统时钟偏移速度很少是相同的,并且对于同一台设备,其时钟偏移速度在温度等外界环境比较稳定的情况下是比较稳定的,因此本发明将该偏移速度作为表征和识别设备的一个重要指标。
[0027]3)根据时钟偏移速度和选择的相关设备信息,采用simhash算法计算设备的simhash 值。
[0028]设备的时钟偏移并非所有设备都是不一样的,有可能出现两个设备类似的情况,因为偏移量是会受温度影响的,所以不能单纯靠时钟偏移来判断是否同一设备。因此本发明根据时钟偏移速度和相关设备信息,按照设定的各参数的权重,采用simhash算法获取设备的simhash值,并将其作为设备识别指纹,具有更好的准确度。
[0029]simhash算法是一种计算文本相似度的算法,相似度越高的两段文本,simhash值的海明距离越小。
[0030]本发明方法的一种优选方案中,在得到上述用户设备的simhash值后,进一步包括用户设备指纹的识别。即计算该设备simhash值与数据库中所有已存储的设备simhash值的海明距离,获得的海明距离即为该设备时钟偏移速度和用户设备系统信息与已存储设备的时钟偏移速度和用户设备系统信息之间的文本相似度(simhash相似度)。若数据库中存在一个已存储设备simhash值与本次采集得到的设备simhash值的海明距离小于判定阈值,则表示两台设备之间的相似度很高,判定该设备与这条记录为同一设备,若数据库中没有一个设备simhash值与本次采集得到设备simhash值的海明距离小于判定阈值,则判定该设备为新设备,并将设备的simhash值以及详细信息存到数据库中。
[0031]研究表明两个simhash的海明距离在3以内,贝Ij可以判断这两个simhash的相似度很高,可认为是一致的。因此本实施例中,上述判定阈值可取为3。
[0032] 本发明方法的优选实施例中,步骤1)中还包括使用浏览器窗口对象的屏幕子对象收集当前屏幕分辨率和颜色深度,其中浏览器窗口对象的屏幕子对象(screen)是脚本的屏幕对象,反映当前用户的屏幕设置。
[0033] 本发明方法的优选实施例中,步骤1)中还可以包括使用flash脚本收集当前系统的flash版本信息、系统字符集、音频信息和系统语言等,将这些信息发送到后台服务端。 [〇〇34] 本发明方法的另一优选实施例中,后台服务端解析浏览器客户端的ip地址,获取省市区,经炜度,并将其应用到计算该用户设备的simhash值中,本实施例中用于simhash 值计算的参数包括时钟偏移速度、选择的字符集、省市信息等,可设置时钟偏移的权重为5, 字符集权重为2、省市信息权重为2,权重越大表示对simhash值的影响越大。
[0035] 在本发明方法的一个优选实施例中,步骤1)中使用浏览器窗口对象收集的参数除了上述实施例中的外,还增加了用户代理信息,浏览器生产商,时区等信息,增加了这些属性后就相当于增加了识别设备的维度,可以提高识别的准确度。
[0036] 在本发明方法的一个另优选实施例中,在上述步骤1)获得浏览器插件信息后,可以查看所有插件是否包含了本服务商提供的插件,如已安装了提供的插件,则通过调用插件的方法获取当前设备的硬件信息,mac地址,cpu编号,硬盘编号,将这些信息联合直接作为当前设备的指纹。
[0037] 本发明的设备指纹的提取和识别系统,请参阅图2所示,包括:设备信息采集单元,用以通过设置在页面中的脚本收集设备系统信息收集访问该页面的用户设备系统信息;其中用户设备系统信息包括当前设备的系统版本、浏览器的版本、浏览器语言和浏览器插件信息,还可以包括用户代理信息、浏览器生产商和时区。
[0038]系统时间获取单元,用以解析用户设备系统信息,获取用户设备的系统时间;从解析得到的TCP报文的头信息中获取浏览器客户端所在的设备系统内部时间。
[0039] 时钟偏移速度计算单元,用以计算用户设备系统时间与世界标准时间的时钟偏移速度;Simhash算法单元,用以根据所述时钟偏移速度和用户设备系统信息,及设定的各参数权重,采用simhash算法计算该用户设备的simhash值,并用该simhash值作为设备识别指纹。
[0040] 本发明实施例系统的优选方案中,还包括:数据库,用以存储用户设备的Simhash值,以便于进行设备指纹的存储和识别;海明距离计算单元,用以计算本次采集用户设备的simhash值与存储的各用户设备 simhash值之间的海明距离,设备指纹识别单元,如果海明距离计算单元获得的海明距离中,有一个小于判定阈值, 则判定该设备与对应的存储的设备为同一设备,否则判定该设备为新设备,并将其simhash 值和设备信息存到数据库中。[〇〇41] 本发明系统的优选方案中,还包括地理位置信息获取单元,用以解析浏览器客户端的ip地址,获取省市区、经炜度。增加了这些属性后,将其用于simhash值的计算和识别, 就相当于增加了识别设备的维度,可以提高识别的准确度。[〇〇42] 上述实施例仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。
【主权项】
1.一种用户设备指纹的提取和识别方法,其特征在于,该方法包括以下步骤: 1)通过设置在页面中的脚本收集访问该页面的用户设备系统信息; 2)解析用户设备系统信息,获取该用户设备的系统时间,并计算系统时间与世界标准时间的时钟偏移速度; 3)根据所述时钟偏移速度和用户设备系统信息计算该用户设备的simhash值,并用该simhash值作为设备识别指纹。2.根据权利要求1所述的方法,其特征在于,还包括: 计算该用户设备的simhash值与存储的各用户设备simhash值之间的海明距离;如果有一个海明距离小于判定阈值,则判定该用户设备与对应的存储的用户设备为同一设备,否则判定该用户设备为新设备,并存储该用户设备的simhash值。3.根据权利要求1或2所述的方法,其特征在于,所述用户设备系统信息包括系统版本、浏览器的版本、浏览器语言、浏览器插件信息。4.根据权利要求3所述的方法,其特征在于,所述用户设备系统信息还包括以下一种或其任一组合:用户代理信息、浏览器生产商和时区。5.根据权利要求3所述的方法,其特征在于,所述用户设备系统信息还包括以下任一种或两种的组合: 使用浏览器窗口对象的屏幕子对象收集的当前屏幕的显示窗口信息,所述显示窗口信息至少包括屏幕分辨率和颜色深度; 使用flash脚本收集的当前系统的flash版本信息、系统字符集、音频信息和系统语言。6.根据权利要求1或2所述的方法,其特征在于,还包括:解析浏览器客户端的ip地址,获取省市区、经玮度,并将其应用到计算该用户设备的simhash值中。7.根据权利要求1或2所述的方法,其特征在于,所述simhash值根据该用户设备的时钟偏移速度和用户设备系统信息,及设定的各参数权重,采用simhash算法计算得到。8.一种用户设备指纹的提取和识别系统,其特征在于,该系统包括: 设备信息采集单元,用以通过设置在页面中的脚本收集设备系统信息收集访问该页面的用户设备系统信息; 系统时间获取单元,用以解析用户设备系统信息,获取用户设备的系统时间; 时钟偏移速度计算单元,用以计算用户设备系统时间与世界标准时间的时钟偏移速度; Simhash算法单元,用以根据所述时钟偏移速度和用户设备系统信息计算该用户设备的simhash值,并用该simhash值作为设备识别指纹。9.根据权利要求8所述的用户设备指纹的提取和识别系统,其特征在于,还包括: 数据库,用以存储用户设备的simhash值; 海明距离计算单元,用以计算本次采集用户设备的simhash值与存储的各用户设备simhash值之间的海明距离, 设备指纹识别单元,如果海明距离计算单元获得的海明距离中,有一个小于判定阈值,则判定该设备与对应的存储的设备为同一设备,否则判定该设备为新设备,并将其simhash值和设备信息存到数据库中。10.根据权利要求8或9所述的用户设备指纹的提取和识别系统,其特征在于,还包括 地理位置信息获取单元,用以解析浏览器客户端的ip地址,获取省市区、经炜度。
【文档编号】G06F17/30GK105989149SQ201510092723
【公开日】2016年10月5日
【申请日】2015年3月2日
【发明人】朱麟荣, 季虎
【申请人】苏宁云商集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1