CN107508832A - 一种设备指纹识别方法及系统 - Google Patents

一种设备指纹识别方法及系统 Download PDF

Info

Publication number
CN107508832A
CN107508832A CN201710861937.1A CN201710861937A CN107508832A CN 107508832 A CN107508832 A CN 107508832A CN 201710861937 A CN201710861937 A CN 201710861937A CN 107508832 A CN107508832 A CN 107508832A
Authority
CN
China
Prior art keywords
fingerprint
equipment
client
aes
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710861937.1A
Other languages
English (en)
Inventor
杨林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Intelligence Shield Information Technology Co Ltd
Original Assignee
Shenzhen Intelligence Shield Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Intelligence Shield Information Technology Co Ltd filed Critical Shenzhen Intelligence Shield Information Technology Co Ltd
Priority to CN201710861937.1A priority Critical patent/CN107508832A/zh
Publication of CN107508832A publication Critical patent/CN107508832A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明公开了一种设备指纹识别方法及系统,步骤1:检测客户端是否支持H5和Cookies,如果是,则执行步骤2,如果否,则执行步骤3;步骤2:检测客户端是否有存在的设备指纹的信息,如果是,则直接发送该设备的指纹信息给服务器端,如果不是,则执行步骤3;步骤3,通过JS获取客户端设备浏览器参数,并通过加密算法生成ID并保存,然后发送给服务器端;步骤4,服务器端通过反加密算法获得客户端设备浏览器参数,进行识别。通过浏览器本身的H5、Cookies或JS获取设备指纹信息,达到设备指纹识别的目的,解决了传统的WEB端设备指纹识别需要额外安装插件的问题。

Description

一种设备指纹识别方法及系统
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种设备指纹识别方法及系统。
背景技术
H5是HTML5的简称.
Cookies是指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109和2965中的都已废弃,最新取代的规范是RFC6265。(可以叫做浏览器缓存)。
JS是JavaScript,JavaScript解释器为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
设备指纹是指可以用于唯一标识出该设备的设备特征或者独特的设备标识。设备指纹包括一些固有的、较难篡改的、唯一的设备标识。比如设备的硬件ID,像手机在生产过程中都会被赋予一个唯一的IMEI(International Mobile Equipment Identity)编号,用于唯一标识该台设备。像电脑的网卡,在生产过程中会被赋予唯一的MAC地址。这些设备唯一的标识符我们可以将其视为设备指纹。
传统的设备指纹技术存在如下的不足:
需要装插件,比如Flash、ActiveX。插件在安装和加载的时候均会有确认框弹出来。网页中的恶意代码往往就是利用这些控件编写的小程序,只要打开网页就会被运行。同时由于插件运行环境的原因,存在浏览器不支持或者用户为了安全而选择不加载,则此时插件完全获取不到设备指纹。
发明内容
为了解决上述技术问题,本发明的目的是提供一种安全性性能高的设备指纹识别方法及系统。
本发明所采用的技术方案是:一种设备指纹识别方法,其包括以下步骤:
步骤1:检测客户端是否支持H5和Cookies,如果是,则执行步骤2,如果否,则执行步骤3;
步骤2:检测客户端是否有存在的设备指纹的信息,如果是,则直接发送该设备的指纹信息给服务器端,如果不是,则执行步骤3;
步骤3,通过JS获取客户端设备浏览器参数,并通过加密算法生成ID并保存,然后发送给服务器端;
步骤4,服务器端通过反加密算法获得客户端设备浏览器参数,进行识别。
进一步,其还包括步骤5,所述步骤5包括:服务器通过相识度算法识别设备指纹。
进一步,所述步骤5具体包括:设置设备浏览器中各个参数在设备指纹识别中的比重,将接收到的设备浏览器参数与服务器数据库设备指纹信息进行对比,识别设备。
进一步,所述浏览器参数包括设备的UA字串、设备的IP、设备语言、设备的屏幕分辨率、设备的像素比、设备运行的平台、设备是否支持本地存储以及设备是否支持本地会话存储中的一个或多个。
一种设备指纹识别系统,其包括客户端和服务器,其特征在于,其用于实施上述的设备指纹识别方法,客户端包括:
检测单元:用于检测客户端是否支持H5和Cookies,检测客户端是否有存在的设备的指纹信息;
获取单元:用于通过JS获取客户端设备浏览器参数,并通过加密算法生成ID并保存;
发送单元:用于将设备指纹的信息和通过加密算法生成的ID发送给服务器;
所述服务器包括:
识别单元:用于通过反加密算法获得客户端设备浏览器参数,进行识别;
接收单元:用于接收设备指纹的信息和通过加密算法生成的ID。
进一步,其还包括判断单元,所述判断单元用于通过相识度算法识别设备指纹。
本发明的有益效果是:本发明通过浏览器本身的H5、Cookies或JS获取设备指纹相关信息,达到设备指纹识别的目的,解决了传统的WEB端设备指纹识别需要额外安装插件的问题,加强了用户安全性能和兼容性,大大的提高了用户的体验感。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明中一种设备指纹识别方法的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,一种设备指纹识别方法,其包括以下步骤:
步骤1:检测客户端是否支持H5和Cookies,如果是,则执行步骤2,如果否,则执行步骤3;
步骤2:检测客户端是否有存在的设备指纹的信息,如果是,则直接发送该设备的指纹信息给服务器端,如果不是,则执行步骤3;
步骤3,通过JS获取客户端设备浏览器参数,并通过加密算法生成ID并保存,然后发送给服务器端;
其中加密算法为hash算法,所述浏览器参数包括:User Agent:设备的UA字串,标准格式为:浏览器标识(操作系统标识、加密等级标识、浏览器语言)渲染引擎标识及版本信息、Language:设备的语言、Color Depth:设备或缓冲器上的调色板的比特深度、PixelRatio:设备的像素比、Screen Resolution:设备的屏幕分辨率、Available ScreenResolution:设备可用屏幕分辨率、Timezone offset:设备时区、Session Storage:设备是否支持本地会话存储、Local Storage:设备是否支持本地存储、Indexed DB:设备是否支持本地结构化数据存储、Add Behavior:设备是否支持元素附加、Open Database:设备是否支持Open Database、CPU class:设备的CPU等级、Platform:设备运行平台、Do not track:设备防是否支持防追踪、Plugins:设备的插件、Web GL:设备是否支持Web GL、Ad Block:设备是否支持广告过滤、Touch Support:设备是否支持触摸等等。
步骤4,服务器端通过反加密算法获得客户端设备浏览器参数,进行识别。
本发明通过浏览器本身的H5、Cookies或JS获取设备浏览器参数信息之后生产一个ID,并在本地存储该ID,在下一次客户端访问的时候直接读取ID,达到设备指纹识别的目的,解决了传统的WEB端设备指纹识别需要额外安装插件的问题,同时大大的提高了传统的设备指纹算法的鲁棒性。
进一步作为优选的实施方式,其还包括步骤5,所述步骤5包括:服务器通过相识度算法识别设备指纹。
优选的,所述步骤5具体包括:设置设备浏览器中各个参数在设备指纹识别中的比重,将接收到的设备浏览器参数与服务器数据库设备指纹信息进行对比,识别设备。
服务器端会收到设备浏览器参数,我们通过设定其中各个参数的在指纹识别中的比重,比如:IP的比重设为100、User Agent的比重设为20、Language的比重设为5、ColorDepth的比重设为3、Pixel Ratio的比重设为2、经过对比,我们发现有两条记录的IP、UserAgent、Language一致,但是Pixel Ratio是不一致的,那么得出的相似度为:(100+20+5+3)/(100+20+5+3+2)=98.46%。按照我们的设定,如相似度为90%以上的为同一设备,那么我就会认为该设备与数据库存在的设备指纹是一致的。
传统的设备指纹技术是根据运行环境的来产生一个唯一的ID,但是运行环境(浏览器)是有可能实时在变化,则会导致该技术获取的ID会有很多的变化,导致服务器端无法正确识别该设备的唯一性。通过相似度算法可大大的提高设备指纹识别的准确率。
一种设备指纹识别系统,其包括客户端和服务器,其特征在于,其用于实施上述的设备指纹识别方法,客户端包括:
检测单元:用于检测客户端是否支持H5和Cookies,检测客户端是否有存在的设备的指纹信息;
获取单元:用于通过JS获取客户端设备浏览器参数,并通过加密算法生成ID并保存;
发送单元:用于将设备指纹的信息和通过加密算法生成的ID发送给服务器;
所述服务器包括:
识别单元:用于通过反加密算法获得客户端设备浏览器参数,进行识别;
接收单元:用于接收设备指纹的信息和通过加密算法生成的ID。
进一步,其还包括判断单元,所述判断单元用于通过相识度算法识别设备指纹。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (6)

1.一种设备指纹识别方法,其特征在于,其包括以下步骤:
步骤1:检测客户端是否支持H5和Cookies,如果是,则执行步骤2,如果否,则执行步骤3;
步骤2:检测客户端是否有存在的设备指纹的信息,如果是,则直接发送该设备的指纹信息给服务器端,如果不是,则执行步骤3;
步骤3,通过JS获取客户端设备浏览器参数,并通过加密算法生成ID并保存,然后发送给服务器端;
步骤4,服务器端通过反加密算法获得客户端设备浏览器参数,进行识别。
2.根据权利要求1所述的一种设备指纹识别方法,其特征在于:其还包括步骤5,所述步骤5包括:服务器通过相识度算法识别设备指纹。
3.根据权利要求2所述的一种设备指纹识别方法,其特征在于:所述步骤5具体包括:设置设备浏览器中各个参数在设备指纹识别中的比重,将接收到的设备浏览器参数与服务器数据库设备指纹信息进行对比,识别设备。
4.根据权利要求1至3任一项所述的一种设备指纹识别方法,其特征在于:所述浏览器参数包括设备的UA字串、设备的IP、设备语言、设备的屏幕分辨率、设备的像素比、设备运行的平台、设备是否支持本地存储以及设备是否支持本地会话存储中的一个或多个。
5.一种设备指纹识别系统,其包括客户端和服务器,其特征在于,其用于实施如权利1至4任一项所述的设备指纹识别方法,客户端包括:
检测单元:用于检测客户端是否支持H5和Cookies,检测客户端是否有存在的设备的指纹信息;
获取单元:用于通过JS获取客户端设备浏览器参数,并通过加密算法生成ID并保存;
发送单元:用于将设备指纹的信息和通过加密算法生成的ID发送给服务器;
所述服务器包括:
识别单元:用于通过反加密算法获得客户端设备浏览器参数,进行识别;
接收单元:用于接收设备指纹的信息和通过加密算法生成的ID。
6.根据权利要求5所述的一种设备指纹识别系统,其特征在于:其还包括判断单元,所述判断单元用于通过相识度算法识别设备指纹。
CN201710861937.1A 2017-09-21 2017-09-21 一种设备指纹识别方法及系统 Pending CN107508832A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710861937.1A CN107508832A (zh) 2017-09-21 2017-09-21 一种设备指纹识别方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710861937.1A CN107508832A (zh) 2017-09-21 2017-09-21 一种设备指纹识别方法及系统

Publications (1)

Publication Number Publication Date
CN107508832A true CN107508832A (zh) 2017-12-22

Family

ID=60697100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710861937.1A Pending CN107508832A (zh) 2017-09-21 2017-09-21 一种设备指纹识别方法及系统

Country Status (1)

Country Link
CN (1) CN107508832A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602134A (zh) * 2019-09-24 2019-12-20 杭州安恒信息技术股份有限公司 基于会话标签识别非法终端访问方法、装置及系统
CN111241524A (zh) * 2020-01-18 2020-06-05 苏州浪潮智能科技有限公司 一种判断设备唯一性的方法及系统
CN111666596A (zh) * 2020-07-10 2020-09-15 腾讯科技(深圳)有限公司 一种数据处理方法、设备及介质
CN111698082A (zh) * 2020-05-29 2020-09-22 成都新希望金融信息有限公司 一种基于js生成混合式终端设备指纹标识的方法
CN112765578A (zh) * 2021-01-26 2021-05-07 上海黔易数据科技有限公司 一种基于浏览器客户端的安全隐私计算的实现方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234409A1 (en) * 2006-03-31 2007-10-04 Ori Eisen Systems and methods for detection of session tampering and fraud prevention
US9372787B2 (en) * 2013-07-15 2016-06-21 Sap Se System and method for automating testing
CN106650382A (zh) * 2016-12-30 2017-05-10 北京工业大学 一种基于浏览器的高性能用户追踪方法
CN106951765A (zh) * 2017-03-31 2017-07-14 福建北卡科技有限公司 一种基于浏览器指纹相似度的零权限移动设备识别方法
CN106993009A (zh) * 2016-01-20 2017-07-28 青岛海信移动通信技术股份有限公司 一种在浏览器中加载网页的方法和装置
CN107066974A (zh) * 2017-04-17 2017-08-18 东南大学 一种抗浏览器指纹改变的终端设备识别方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234409A1 (en) * 2006-03-31 2007-10-04 Ori Eisen Systems and methods for detection of session tampering and fraud prevention
US9372787B2 (en) * 2013-07-15 2016-06-21 Sap Se System and method for automating testing
CN106993009A (zh) * 2016-01-20 2017-07-28 青岛海信移动通信技术股份有限公司 一种在浏览器中加载网页的方法和装置
CN106650382A (zh) * 2016-12-30 2017-05-10 北京工业大学 一种基于浏览器的高性能用户追踪方法
CN106951765A (zh) * 2017-03-31 2017-07-14 福建北卡科技有限公司 一种基于浏览器指纹相似度的零权限移动设备识别方法
CN107066974A (zh) * 2017-04-17 2017-08-18 东南大学 一种抗浏览器指纹改变的终端设备识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王研昊: "Android设备指纹识别技术的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
黄福玉等: "《移动政务》", 28 February 2017, 北京:中国铁道出版社 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602134A (zh) * 2019-09-24 2019-12-20 杭州安恒信息技术股份有限公司 基于会话标签识别非法终端访问方法、装置及系统
CN111241524A (zh) * 2020-01-18 2020-06-05 苏州浪潮智能科技有限公司 一种判断设备唯一性的方法及系统
CN111698082A (zh) * 2020-05-29 2020-09-22 成都新希望金融信息有限公司 一种基于js生成混合式终端设备指纹标识的方法
CN111698082B (zh) * 2020-05-29 2023-08-25 成都新希望金融信息有限公司 一种基于js生成混合式终端设备指纹标识的方法
CN111666596A (zh) * 2020-07-10 2020-09-15 腾讯科技(深圳)有限公司 一种数据处理方法、设备及介质
CN112765578A (zh) * 2021-01-26 2021-05-07 上海黔易数据科技有限公司 一种基于浏览器客户端的安全隐私计算的实现方法
CN112765578B (zh) * 2021-01-26 2022-09-16 上海黔易数据科技有限公司 一种基于浏览器客户端的安全隐私计算的实现方法

Similar Documents

Publication Publication Date Title
CN107508832A (zh) 一种设备指纹识别方法及系统
CN108092962B (zh) 一种恶意url检测方法及装置
US10848511B2 (en) Method and apparatus for identifying fake traffic
CN103888490B (zh) 一种全自动的web客户端人机识别的方法
US10262341B2 (en) Resource downloading method and device
US20160063541A1 (en) Method for detecting brand counterfeit websites based on webpage icon matching
CN109039987A (zh) 一种用户账户登录方法、装置、电子设备和存储介质
WO2016101635A1 (zh) 一种同步登录状态的方法、装置、设备和计算机存储介质
CN108881138B (zh) 一种网页请求识别方法及装置
CN109672658B (zh) Json劫持漏洞的检测方法、装置、设备及存储介质
CN106789939A (zh) 一种钓鱼网站检测方法和装置
CN110035075A (zh) 钓鱼网站的检测方法、装置、计算机设备及存储介质
CN109657431B (zh) 用于识别用户身份的方法
CN106230831B (zh) 一种识别浏览器唯一性和风险特征的方法和系统
CN105635064B (zh) Csrf攻击检测方法及装置
CN105959324A (zh) 基于正则匹配的网络攻击检测方法及装置
CN111885007B (zh) 信息溯源方法、装置、系统及存储介质
US8910281B1 (en) Identifying malware sources using phishing kit templates
CN106789973B (zh) 页面的安全性检测方法及终端设备
CN111125704B (zh) 一种网页挂马识别方法及系统
CN108011936A (zh) 用于推送信息的方法和装置
CN107995167B (zh) 一种设备识别方法及服务器
CN104021324A (zh) 字迹安全校验的方法及装置
CN111698082B (zh) 一种基于js生成混合式终端设备指纹标识的方法
CN104933061B (zh) 字符串检测方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20171222

RJ01 Rejection of invention patent application after publication