一种指纹识别方法技术

技术编号:17389675 阅读:24 留言:0更新日期:2018-03-04 14:29
本发明专利技术公开了一种指纹识别方法,首先将采集的用户浏览器指纹信息与已保存的用户浏览器指纹进行Hash比对,若有匹配项,直接得到识别结果;若无匹配项,则将目标指纹与指纹库中的指纹逐条进行稳定指纹项比对,筛选出匹配项并进行渐变指纹的相似度比对,若计算结果大于或等于设定的阈值时,则判定该条指纹项为浏览器渐变后的指纹并进行更新。本发明专利技术提高了浏览器指纹识别方法对一段时间内的回访用户进行识别的准确性和稳定性,所以相对于一般的静态的指纹识别方式,可以更加有效的对回访用户身份进行识别。

A fingerprint identification method

The invention discloses a fingerprint identification method, firstly, the collected user information and user browser browser fingerprint fingerprint saved Hash comparison, if there is a match, the recognition result is obtained directly; if there is no match, the target fingerprint and fingerprint in database by a stable fingerprint comparison, screening similarity comparison match and gradient of fingerprint, if the calculation result is greater than or equal to a threshold value, it is judged that the fingerprints for the browser fingerprint and update after gradient. The invention improves the accuracy and stability of the browser's fingerprint recognition method for visiting users in a certain period of time. Therefore, compared with the general static fingerprint identification method, it can identify user identity more effectively.

【技术实现步骤摘要】
一种指纹识别方法
本专利技术涉及一种指纹识别方法。
技术介绍
随着浏览器成为用户访问网络的平台,人们从Web站点进行信息交互,由于HTTP协议的无状态性,不能对用户身份与访问页面的行为关联。由于一些商业网站需要将用户和行为进行关联以便提更好的服务,所以在1994年LouMontulli提出了浏览器Cookies用于用户识别。但是,具有较高安全意识的用户并不希望暴露自己的上网行为,所以浏览器给用户提供了隐私模式和幽灵模式,可以用来帮助用户控制或者删除Cookies文件。为了能够在用户的浏览器指纹发生一定变化时,依然能够识别对应的用户,保证用户指纹的稳定性,一些站点同时使用浏览器指纹和IP地址确定用户的身份。这时的指纹信息可以携带不高于15-20bits的身份信息,但是通过其中的IP、子网等信息,即使用户删除了Cookie或者更新了浏览器指纹,也能识别出用户并更新用户的浏览器指纹。但这种方法不适用于使用动态IP地址以及校园网等公共网络环境,因为IP地址多变性或者重复性,容易导致此方法无法正常识别个体用户。
技术实现思路
本专利技术所要解决的技术问题是克服现有技术的缺陷,提供一种指纹识别方法,提高了浏览器指纹识别方法对一段时间内的回访用户进行识别的准确性和稳定性,所以相对于一般的静态的指纹识别方式,可以更加有效的对回访用户身份进行识别。为解决上述技术问题,本专利技术提供一种指纹识别方法,其特征是,首先将采集的用户浏览器指纹信息与已保存的用户浏览器指纹进行Hash比对,若有匹配项,直接得到识别结果;若无匹配项,则将目标指纹与指纹库中的指纹逐条进行稳定指纹项比对,筛选出匹配项并进行渐变指纹的相似度比对,若计算结果大于或等于设定的阈值时,则判定该条指纹项为浏览器渐变后的指纹并进行更新。进一步地,具体包括以下步骤:(1)Hash比对首先将获取的用户浏览器指纹信息做MurmurHash运算,然后将得到的Hash值与指纹库中的浏览器指纹Hash值逐条进行比对,若存在匹配项,则表示是回访用户,直接识别出该用户,结束;若不存在匹配项,执行第2)步;(2)稳定指纹项比对对用户浏览器指纹中的http_accept、timezone、screen、fonts、cookie、canvas六种稳定指纹生成Hash值,再与指纹库中稳定指纹Hash值进行匹配,若不存在匹配项目,则作为新指纹直接录入指纹库,若存在匹配项,继续执行第3)步;(3)渐变指纹识别对于plugins和useragent这两项易发生变化的指纹项,主要是对其进行添加或者删除操作时发生的变化,所以变化后的指纹与原指纹具有字符串相似性,可以通过计算字符串的相似度来识别,相似度计算的算法采用了经典的字符串之间相似度的计算方法LevenshteinDistance算法,该算法通过计算两个字符串之间的最短编辑路径来计算字符串之间的相似度。进一步地,上述步骤(3)中,具体计算方法为:其中R代表计算所得的相似度,分别代表对plugins与useragent两个易变指纹项进行计算后的相似值,β1、β2分别代表与之对应的权值。进一步地,依据公式(1)计算采集的指纹与指纹库中的已有指纹的相似度R并选取其中最大的R值,然后比较Rmax值和设定的相似度阈值θ的大小,当Rmax≥θ,表示该指纹是渐变后的指纹,录入渐变后的指纹,替换原有指纹;反之则认为是新的浏览器指纹,直接在指纹库中录入。进一步地,还包括权值的选取:指纹项的权值是指纹稳定性的反应,指纹项越稳定其所占权值也就越高,根据上节指纹的变化分析,一个月内用户指纹发生变化最多的是plugins,useragent指纹变化较少,所以useragent相较于plugins更稳定,权值更高。进一步地,还包括阈值的选取:所选取的阈值是随着访问间隔时间而变化的,基于公式(1)根据对指纹变化的观察,在发生变化的用户浏览器指纹中,在回访间隔在五天左右时,变动指纹项大部分为一个单独指纹项中的一至两个,通过计算其相似度保持在98%,当访问间隔时间为十天左右,变化的指纹项中的数据变多,其相似度为96%,那么当访问间隔十天以上时,其相似度为94%。本专利技术所达到的有益效果:通过对指纹变化特性的实验分析,设定了会随着访问间隔时间而变化的相似性阈值,当变动在一定的范围内时,判定为渐变后的指纹,并完成相应指纹更新。该方法提高了浏览器指纹识别方法对一段时间内的回访用户进行识别的准确性和稳定性,所以相对于一般的静态的指纹识别方式,可以更加有效的对回访用户身份进行识别。附图说明图1是本专利技术的流程图。具体实施方式下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。如图1所示,一种指纹识别方法,首先将采集的用户浏览器指纹信息与已保存的用户浏览器指纹进行Hash比对,若有匹配项,直接得到识别结果;若无匹配项,则将目标指纹与指纹库中的指纹逐条进行稳定指纹项比对,筛选出匹配项并进行渐变指纹的相似度比对,若计算结果大于或等于设定的阈值时,则判定该条指纹项为浏览器渐变后的指纹并进行更新。具体包括以下步骤:(1)Hash比对首先将获取的用户浏览器指纹信息做MurmurHash运算,然后将得到的Hash值与指纹库中的浏览器指纹Hash值逐条进行比对,若存在匹配项,则表示是回访用户,直接识别出该用户,结束;若不存在匹配项,执行第2)步;(2)稳定指纹项比对对用户浏览器指纹中的http_accept、timezone、screen、fonts、cookie、canvas六种稳定指纹生成Hash值,再与指纹库中稳定指纹Hash值进行匹配,若不存在匹配项目,则作为新指纹直接录入指纹库,若存在匹配项,继续执行第3)步;(3)渐变指纹识别对于plugins和useragent这两项易发生变化的指纹项,主要是对其进行添加或者删除操作时发生的变化,所以变化后的指纹与原指纹具有字符串相似性,可以通过计算字符串的相似度来识别,相似度计算的算法采用了经典的字符串之间相似度的计算方法LevenshteinDistance算法,该算法通过计算两个字符串之间的最短编辑路径来计算字符串之间的相似度。具体计算方法为:其中R代表计算所得的相似度,分别代表对plugins与useragent两个易变指纹项进行计算后的相似值,β1、β2分别代表与之对应的权值。依据公式(1)计算采集的指纹与指纹库中的已有指纹的相似度R并选取其中最大的R值,然后比较Rmax值和设定的相似度阈值θ的大小,当Rmax≥θ,表示该指纹是渐变后的指纹,录入渐变后的指纹,替换原有指纹;反之则认为是新的浏览器指纹,直接在指纹库中录入。权值的选取:指纹项的权值是指纹稳定性的反应,指纹项越稳定其所占权值也就越高,根据上节指纹的变化分析,一个月内用户指纹发生变化最多的是plugins,useragent指纹变化较少,所以useragent相较于plugins更稳定,权值更高。阈值的选取:所选取的阈值是随着访问间隔时间而变化的,基于公式(1)根据对指纹变化的观察,在发生变化的用户浏览器指纹中,在回访间隔在五天左右时,变动指纹项大部分为一个单独指纹项中的一至两个,通过计算其相似度保持在98%,当访问间隔时间为十本文档来自技高网...
一种指纹识别方法

【技术保护点】
一种指纹识别方法,其特征是,首先将采集的用户浏览器指纹信息与已保存的用户浏览器指纹进行Hash比对,若有匹配项,直接得到识别结果;若无匹配项,则将目标指纹与指纹库中的指纹逐条进行稳定指纹项比对,筛选出匹配项并进行渐变指纹的相似度比对,若计算结果大于或等于设定的阈值时,则判定该条指纹项为浏览器渐变后的指纹并进行更新。

【技术特征摘要】
1.一种指纹识别方法,其特征是,首先将采集的用户浏览器指纹信息与已保存的用户浏览器指纹进行Hash比对,若有匹配项,直接得到识别结果;若无匹配项,则将目标指纹与指纹库中的指纹逐条进行稳定指纹项比对,筛选出匹配项并进行渐变指纹的相似度比对,若计算结果大于或等于设定的阈值时,则判定该条指纹项为浏览器渐变后的指纹并进行更新。2.根据权利要求1所述的一种指纹识别方法,其特征是,具体包括以下步骤:(1)Hash比对首先将获取的用户浏览器指纹信息做MurmurHash运算,然后将得到的Hash值与指纹库中的浏览器指纹Hash值逐条进行比对,若存在匹配项,则表示是回访用户,直接识别出该用户,结束;若不存在匹配项,执行第2)步;(2)稳定指纹项比对对用户浏览器指纹中的http_accept、timezone、screen、fonts、cookie、canvas六种稳定指纹生成Hash值,再与指纹库中稳定指纹Hash值进行匹配,若不存在匹配项目,则作为新指纹直接录入指纹库,若存在匹配项,继续执行第3)步;(3)渐变指纹识别对于plugins和useragent这两项易发生变化的指纹项,主要是对其进行添加或者删除操作时发生的变化,所以变化后的指纹与原指纹具有字符串相似性,可以通过计算字符串的相似度来识别,相似度计算的算法采用了经典的字符串之间相似度的计算方法LevenshteinDistance算法,该算法通过计算两个字符串之间的最短编辑路径来计算字符串之间的相似度。3.根据权利要求2所述的一种指纹识别方法,其特征是,上述步骤(3)中...

【专利技术属性】
技术研发人员:夏泽宇
申请(专利权)人:苏州大成电子科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1