CN110851883B - 基于图片绘制的设备指纹生成方法及装置 - Google Patents
基于图片绘制的设备指纹生成方法及装置 Download PDFInfo
- Publication number
- CN110851883B CN110851883B CN201911038939.6A CN201911038939A CN110851883B CN 110851883 B CN110851883 B CN 110851883B CN 201911038939 A CN201911038939 A CN 201911038939A CN 110851883 B CN110851883 B CN 110851883B
- Authority
- CN
- China
- Prior art keywords
- picture
- buffer area
- pixel data
- fingerprint
- pixel
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Input (AREA)
Abstract
本发明实施例提供一种基于图片绘制的设备指纹生成方法及装置,该方法包括:通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据;根据所述缓冲区像素数据,计算得到设备指纹。该方法通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据,由于同一设备对于相同的预设图片,通过不同的浏览器得到的缓冲区像素数据是相同的,根据缓冲区像素数据,计算得到设备指纹,对于不同的浏览器不会造成差异,从而免浏览器特征污染,实现跨浏览器的的设备指纹。对于不同设备而言,由于GPU的型号差异、参数设置差异和操作系统差异,设备指纹是不同的,能够唯一性标识不同设备,实现高度区分的设备指纹。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种基于图片绘制的设备指纹生成方法及装置。
背景技术
在现代验证码与黑产的对抗战争中,如何准确的识别与跟踪黑产是一个很大的挑战。黑产可以使用的权限可以说是无限大的,其无需关注用户体验兼容,为了破解可以修改设备参数甚至越狱完全控制。在与黑产的对抗当中,少不了构建设备指纹追踪识别。
现在普遍的方法去构造浏览器设备指纹,都是采用一些基本特征,例如屏幕宽度、时区、字体等等。一方面,这样的方法区分度实在太低。另一方面,由于这些设备指纹中加入了一些浏览器特征,在同一个设备中,用不同的浏览器构建出来的指纹就不一样,无法有效实现设备的唯一性标识。另外,在h5设备中,设备指纹的碰撞率却高的出奇。这是因为这些用作构建指纹的特征区分度太低,导致在h5中同一型号的手机生成的指纹一模一样。
综上,目前的设备指纹对于不同的设备区分度太低,对于相同设备的不同浏览器又无法正确区分。
发明内容
为了解决上述问题,本发明实施例提供一种基于图片绘制的设备指纹生成方法及装置。
第一方面,本发明实施例提供一种基于图片绘制的设备指纹生成方法,包括:通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据;根据所述缓冲区像素数据,计算得到设备指纹。
进一步地,所述通过浏览器绘制预设图片,包括:通过canvas绘制预设图片。
进一步地,所述获取缓冲区像素数据,包括:通过readPixels函数提取缓冲区像素。
进一步地,所述根据所述缓冲区像素数据,计算得到设备指纹,包括:根据所述缓冲区像素数据,通过MD5算法,获取所述像素数据的MD5校验值,以获得所述设备指纹。
第二方面,本发明实施例提供一种基于图片绘制的设备指纹生成装置,包括:像素生成模块,用于通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据;指纹生成模块,用于根据所述缓冲区像素数据,计算得到设备指纹。
进一步地,所述像素生成模块包括:图形绘制模块,用于通过canvas绘制预设图片。
进一步地,所述像素生成模块包括:像素提取模块,用于通过readPixels函数提取缓冲区像素。
进一步地,所述指纹生成模块,具体用于根据所述缓冲区像素数据,通过MD5算法,获取所述缓冲区像素数据的MD5校验值,以获得所述设备指纹。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本发明第一方面基于图片绘制的设备指纹生成方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明第一方面基于图片绘制的设备指纹生成方法的步骤。
本发明实施例提供的基于图片绘制的设备指纹生成方法及装置,通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据,由于同一设备对于相同的预设图片,通过不同的浏览器得到的缓冲区像素数据是相同的,根据缓冲区像素数据,计算得到设备指纹,对于不同的浏览器不会造成差异,从而免浏览器特征污染,实现跨浏览器的的设备指纹。对于不同设备而言,由于GPU的型号差异、参数设置差异和操作系统差异,设备指纹是不同的,能够唯一性标识不同设备,实现高度区分的设备指纹。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于图片绘制的设备指纹生成方法流程图;
图2为本发明实施例提供的基于图片绘制的设备指纹生成装置结构图;
图3为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的基于图片绘制的设备指纹生成方法流程图,如图1所示,本发明实施例提供一种基于图片绘制的设备指纹生成方法,包括:
101,通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据。
在101中,使用浏览器绘制预设的图片,但是不直接生成图片,绘制完成后,提取图片缓冲区的像素。缓冲区的像素可以按预设的规则进行排列,从而得到图片缓冲区的像素数据。
102,根据缓冲区像素数据,计算得到设备指纹。
在102中,在图片格式上,不同浏览器使用了不同的图形处理引擎、不同的图片导出选项、不同的默认压缩级别等。相同的图片绘制操作,在不同操作系统、不同浏览器上,产生的图片内容不完全相同。但在像素级别来看,操作系统各自使用了不同的设置和算法来进行抗锯齿和子像素渲染操作。因此,同一设备绘制相同的预设图片,即使浏览器不同,其像素缓冲区中的数据相同。而对于不同的设备,在自身的GPU、浏览器和操作系统的差异下,即使绘制相同的图片,统一浏览器下,像素缓冲区中的数据也不相同。
该方法充分利用了GPU的绘制特性,每一台机器上采用GPU绘制图像时,生成的图像在像素级别会有细微的差异,在缓冲区提取就不会沾染浏览器附加的特性。因此,根据上述缓冲区像素,计算得到设备指纹。而该设备指纹对于设备而言是唯一的,且不会因浏览器差异而不同。
本发明实施例提供的基于图片绘制的设备指纹生成方法,通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据,由于同一设备对于相同的预设图片,通过不同的浏览器得到的缓冲区像素数据是相同的,根据缓冲区像素数据,计算得到设备指纹,对于不同的浏览器不会造成差异,从而免浏览器特征污染,实现跨浏览器的的设备指纹。对于不同设备而言,由于GPU的型号差异、参数设置差异和操作系统差异,设备指纹是不同的,能够唯一性标识不同设备,实现高度区分的设备指纹。
基于上述实施例的内容,作为一种可选实施例,通过浏览器绘制预设图片,包括:通过canvas绘制预设图片。
canvas是html5的一部分,HTML5<canvas>元素用于图形的绘制,通过脚本(通常是JavaScript)来完成。<canvas>标签只是图形容器,必须使用脚本来绘制图形。可以通过多种方法使用canvas绘制路径、盒、圆、字符以及添加图像。
本发明实施例提供的基于图片绘制的设备指纹生成方法,通过canvas绘制预设图片,实现过程简单,可通过JavaScript脚本实现。
基于上述实施例的内容,作为一种可选实施例,获取缓冲区像素,包括:通过readPixels函数提取缓冲区像素。readPixels是Web常用的图形处理函数,能够从系统读取像素帧缓冲数据。本发明实施例提供的基于图片绘制的设备指纹生成方法,通过readPixels函数提取缓冲区像素,实现过程简单快捷。
基于上述实施例的内容,作为一种可选实施例,根据缓冲区像素,计算得到设备指纹,包括:根据缓冲区像素,通过MD5算法,获取像素数据的MD5校验值,以获得设备指纹。
考虑到不同设备绘制预设图片后,缓冲区像素数据之间的差异较大,且像素数据较多。本发明实施例中对缓冲区像素数据,通过MD5算法得到MD5校验值,将该校验值作为设备指纹。
MD5是一个将任意长度的数据字符串转化成短的固定长度的值的单向操作。任意两个字符串不应有相同的散列值。
本实施例提供的基于图片绘制的设备指纹生成方法,通过获取像素数据的MD5校验值,以获得设备指纹,能够以较小的数据长度区分每一不同的设备。
图2为本发明实施例提供的基于图片绘制的设备指纹生成装置结构图,如图2所示,该基于图片绘制的设备指纹生成装置包括:像素生成模块201和指纹生成模块202。其中,像素生成模块201用于通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据;指纹生成模块202用于根据缓冲区像素数据,计算得到设备指纹。
首先,像素生成模块201使用浏览器绘制预设的图片,但是不直接生成图片,绘制完成后,提取图片缓冲区的像素。缓冲区的像素可以按预设的规则进行排列,从而得到图片缓冲区的像素数据。
在像素级别来看,操作系统各自使用了不同的设置和算法来进行抗锯齿和子像素渲染操作。因此,同一设备绘制相同的预设图片,即使浏览器不同,其像素缓冲区中的数据相同。而对于不同的设备,在自身的GPU、浏览器和操作系统的差异下,即使绘制相同的图片,统一浏览器下,像素缓冲区中的数据也不相同。指纹生成模块202,根据缓冲区像素数据,计算得到设备指纹,该设备指纹能够有效实现不同设备的区分。
基于上述实施例的内容,作为一种可选实施例,像素生成模块包括:图形绘制模块,用于通过canvas绘制预设图片。
基于上述实施例的内容,作为一种可选实施例,像素生成模块包括:像素提取模块,用于通过readPixels函数提取缓冲区像素。
基于上述实施例的内容,作为一种可选实施例,指纹生成模块,具体用于根据缓冲区像素,通过MD5算法,获取图片数据的MD5校验值,以获得设备指纹
本发明实施例提供的装置实施例是为了实现上述各方法实施例的,具体流程和详细内容请参照上述方法实施例,此处不再赘述。
本发明实施例提供的基于图片绘制的设备指纹生成装置,通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据,由于同一设备对于相同的预设图片,通过不同的浏览器得到的缓冲区像素数据是相同的,根据缓冲区像素数据,计算得到设备指纹,对于不同的浏览器不会造成差异,从而免浏览器特征污染,实现跨浏览器的的设备指纹。对于不同设备而言,由于GPU的型号差异、参数设置差异和操作系统差异,设备指纹是不同的,能够唯一性标识不同设备,实现高度区分的设备指纹。
图3为本发明实施例提供的一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和总线304,其中,处理器301,通信接口302,存储器303通过总线304完成相互间的通信。通信接口302可以用于电子设备的信息传输。处理器301可以调用存储器303中的逻辑指令,以执行包括如下的方法:通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据;根据所述缓冲区像素数据,计算得到设备指纹。
此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明上述各方法实施例的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据;根据所述缓冲区像素数据,计算得到设备指纹。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种基于图片绘制的设备指纹生成方法,其特征在于,包括:
通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据,缓冲区的像素按预设的规则进行排列,得到所述缓冲区的像素数据;
所述获取缓冲区像素,包括:通过readPixels函数提取缓冲区像素;
根据所述缓冲区像素数据,计算得到设备指纹;
所述根据所述缓冲区像素数据,计算得到设备指纹,包括:根据所述缓冲区像素数据,通过MD5算法,获取所述像素数据的MD5校验值,以获得所述设备指纹。
2.根据权利要求1所述的基于图片绘制的设备指纹生成方法,所述通过浏览器绘制预设图片,包括:
通过canvas绘制预设图片。
3.一种基于图片绘制的设备指纹生成装置,其特征在于,包括:
像素生成模块,用于通过浏览器绘制预设图片,在生成图片之前,获取缓冲区像素数据,缓冲区的像素按预设的规则进行排列,得到所述缓冲区的像素数据;
指纹生成模块,用于根据所述缓冲区像素数据,计算得到设备指纹;
所述像素生成模块包括:像素提取模块,用于通过readPixels函数提取缓冲区像素;
所述指纹生成模块,具体用于根据所述缓冲区像素数据,通过MD5算法,获取所述缓冲区像素数据的MD5校验值,以获得所述设备指纹。
4.根据权利要求3 所述的基于图片绘制的设备指纹生成装置,其特征在于,所述像素生成模块包括:
图形绘制模块,用于通过canvas绘制预设图片。
5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至2任一项所述基于图片绘制的设备指纹生成方法的步骤。
6.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至2任一项所述基于图片绘制的设备指纹生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911038939.6A CN110851883B (zh) | 2019-10-29 | 2019-10-29 | 基于图片绘制的设备指纹生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911038939.6A CN110851883B (zh) | 2019-10-29 | 2019-10-29 | 基于图片绘制的设备指纹生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851883A CN110851883A (zh) | 2020-02-28 |
CN110851883B true CN110851883B (zh) | 2021-11-02 |
Family
ID=69598374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911038939.6A Active CN110851883B (zh) | 2019-10-29 | 2019-10-29 | 基于图片绘制的设备指纹生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851883B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111914684B (zh) * | 2020-07-14 | 2024-06-21 | 全球能源互联网研究院有限公司 | 一种设备物理指纹特征图像的提取方法及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841978A (en) * | 1993-11-18 | 1998-11-24 | Digimarc Corporation | Network linking method using steganographically embedded data objects |
CN105577735A (zh) * | 2014-11-07 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 基于浏览器的用户行为追踪方法及装置 |
CN105204853A (zh) * | 2015-09-14 | 2015-12-30 | 新浪网技术(中国)有限公司 | 一种网页浏览器的Canvas绘图方法及装置 |
CN107665299A (zh) * | 2016-07-28 | 2018-02-06 | 中兴通讯股份有限公司 | 一种终端指纹生成方法及装置 |
CN106446202A (zh) * | 2016-09-30 | 2017-02-22 | 福建北卡科技有限公司 | 一种基于特征隐式获取的抗干扰浏览器指纹生成方法 |
US10943176B2 (en) * | 2017-03-22 | 2021-03-09 | Ebay Inc. | Visual aspect localization presentation |
CN107239491A (zh) * | 2017-04-25 | 2017-10-10 | 广州阿里巴巴文学信息技术有限公司 | 用于实现用户行为追踪的方法、设备、浏览器及电子设备 |
CN108364022B (zh) * | 2018-02-09 | 2020-07-28 | 杭州默安科技有限公司 | 基于机器学习分析指纹相似度的跨浏览器设备识别方法 |
CN108846875A (zh) * | 2018-04-26 | 2018-11-20 | 广州视源电子科技股份有限公司 | 形状数据处理方法和装置 |
CN109448088B (zh) * | 2018-10-22 | 2023-02-21 | 广州视源电子科技股份有限公司 | 渲染立体图形线框的方法、装置、计算机设备和存储介质 |
CN109741099B (zh) * | 2018-12-28 | 2020-04-03 | 北京字节跳动网络技术有限公司 | 设备特征信息的采集方法及装置 |
CN110336781A (zh) * | 2019-05-09 | 2019-10-15 | 极智(上海)企业管理咨询有限公司 | 一种基于浏览器识别终端唯一性的方法和装置 |
-
2019
- 2019-10-29 CN CN201911038939.6A patent/CN110851883B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110851883A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10915980B2 (en) | Method and apparatus for adding digital watermark to video | |
JP6595714B2 (ja) | 動的な効果を有する2次元コード画像を生成するための方法および装置 | |
CN105975576B (zh) | 终端内容适配显示方法、装置和终端 | |
US9842251B2 (en) | Bulleted lists | |
US20120236004A1 (en) | Information output apparatus and information output method and recording medium | |
US10699751B1 (en) | Method, system and device for fitting target object in video frame | |
CN114511041B (zh) | 模型训练方法、图像处理方法、装置、设备和存储介质 | |
US20240282024A1 (en) | Training method, method of displaying translation, electronic device and storage medium | |
CN106960062A (zh) | 网页截图方法及系统 | |
CN113487473A (zh) | 一种添加图像水印的方法、装置、电子设备及存储介质 | |
CN110851883B (zh) | 基于图片绘制的设备指纹生成方法及装置 | |
CN107122104B (zh) | 数据显示方法及装置 | |
CN107203764A (zh) | 长微博图片识别方法和装置 | |
CN112669204B (zh) | 图像处理方法、图像处理模型的训练方法和装置 | |
CN108230332B (zh) | 文字图像的处理方法和装置、电子设备、计算机存储介质 | |
CN111767492B (zh) | 图片加载方法、装置、计算机设备及存储介质 | |
CN108804652B (zh) | 封面图片的生成方法、装置、存储介质和电子装置 | |
US11468658B2 (en) | Systems and methods for generating typographical images or videos | |
CN113888086A (zh) | 基于图像识别的物品签收方法、装置、设备及存储介质 | |
CN113038184A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN112241994A (zh) | 模型训练方法及渲染方法、装置、电子设备及存储介质 | |
US20150371582A1 (en) | Image display device, image display method and program | |
CN106933852B (zh) | 网页更新请求的生成方法、装置及其响应方法和装置 | |
CN112801030B (zh) | 一种目标文本区域的定位方法及装置 | |
CN115984947B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |