CN109657447A - 一种设备指纹生成方法及装置 - Google Patents

一种设备指纹生成方法及装置 Download PDF

Info

Publication number
CN109657447A
CN109657447A CN201811448928.0A CN201811448928A CN109657447A CN 109657447 A CN109657447 A CN 109657447A CN 201811448928 A CN201811448928 A CN 201811448928A CN 109657447 A CN109657447 A CN 109657447A
Authority
CN
China
Prior art keywords
fingerprint
equipment component
component
algorithm
equipment
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.)
Granted
Application number
CN201811448928.0A
Other languages
English (en)
Other versions
CN109657447B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811448928.0A priority Critical patent/CN109657447B/zh
Publication of CN109657447A publication Critical patent/CN109657447A/zh
Application granted granted Critical
Publication of CN109657447B publication Critical patent/CN109657447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明涉及一种设备指纹生成方法及装置,所述方法包括:确定待采集的设备分量;采集目标设备的所述设备分量,确定与所述设备分量相匹配的算法层级;从预设多层算法中筛选出与所述算法层级对应的目标算法;根据所述设备分量和所述目标算法进行计算,得到输出结果;确定所述输出结果为所述目标设备的设备指纹。本发明能够适应不同业务场景下不同层级的设备指纹的计算,并且随着设备分量数量的增加,能够进一步降低设备指纹的冲突率,实现不同设备指纹算法之间的通用性。

Description

一种设备指纹生成方法及装置
技术领域
本发明涉及通信安全技术领域,尤其涉及一种设备指纹生成方法及装置。
背景技术
当前设备指纹算法,即设备唯一ID的计算方法,主要采用IMEI(InternationalMobile Equipment Identity,国际移动设备识别码)/MAC(Media Access ControlAddress,媒体访问控制地址)/Android ID等设备分量组合进行计算。现有技术方案存在以下问题:
高冲突:在实际大量设备集合中,设备中的IMEI就是一个会导致严重冲突的设备分量,根据多方调研估算,在大量真实数据验证中其冲突率大于3%,产生这种现象的原因为:很多山寨机的IMEI是相同的,或者系统刷机为相同IMEI,或者黑产为了对抗设备指纹算法篡改为相同的IMEI。若采用设备分量IMEI计算设备指纹,会出现大量一样设备指纹的设备,也使得黑产容易伪造出大量相同设备来突破设备安全防线;
高漂移:为了应对高冲突,如果采用多种设备分量组合计算设备指纹,比如MAC/cookie等,随着时间的变化,采集技术及设备环境的不稳定,会导致同一台设备出现不同的设备指纹,导致设备漂移率的产生及漂移率的增长;并且很多山寨机的MAC也是相同的,系统源代码中存在一段随机生成MAC地址后24位的代码;另外,cookie本身会存在被清理,而导致不同的设备指纹;
不通用:不同设备指纹算法不兼容,各个业务或者厂商会涉及使用不同的设备指纹算法,导致设备指纹之间不能进行匹配,做设备关联黑产数据的互通,使得黑产可以用同一个设备在多个场景下作恶,给业务带来多次损失。
为了解决现有技术中存在的设备指纹算法高冲突、高漂移和不通用的问题,本发明提供了一种设备指纹生成方法及装置。
发明内容
本发明所要解决的技术问题在于,提供一种设备指纹生成方法及装置,能够适应不同业务场景下不同层级的设备指纹的计算,并且随着设备分量数量的增加,能够进一步降低设备指纹的冲突率,实现不同设备指纹算法之间的通用性。
为了解决上述技术问题,一方面,本发明提供了一种设备指纹生成方法,包括:
确定待采集的设备分量;
采集目标设备的所述设备分量,确定与所述设备分量相匹配的算法层级;
从预设多层算法中筛选出与所述算法层级对应的目标算法;
根据所述设备分量和所述目标算法进行计算,得到输出结果;
确定所述输出结果为所述目标设备的设备指纹。
另一方面,本发明提供了一种设备指纹生成装置,包括:
设备分量确定模块,用于确定待采集的设备分量;
算法层级确定模块,用于采集目标设备的所述设备分量,确定与所述设备分量相匹配的算法层级;
目标算法筛选模块,用于从预设多层算法中筛选出与所述算法层级对应的目标算法;
计算输出模块,用于根据所述设备分量和所述目标算法进行计算,得到输出结果;
设备指纹确定模块,用于确定所述输出结果为所述目标设备的设备指纹。
实施本发明实施例,具有如下有益效果:
本发明根据具体的应用场景来确定待采集的设备分量,根据采集的设备分量确定与所述设备分量相匹配的算法层级;从预设的多层算法中筛选出与所述算法层级对应的目标算法,并结合采集的设备分量,计算当前应用场景下的目标设备的设备指纹。本发明能够适应不同业务场景下不同层级的设备指纹的计算,根据采集的设备分量,自动匹配目标算法进行设备指纹的计算,实现不同设备指纹算法之间的通用性,并且随着设备分量的增加,能够进一步降低设备指纹的冲突率。
附图说明
图1是本发明实施例提供的实施环境示意图;
图2是本发明实施例提供的一种设备指纹生成方法示意图;
图3是本发明实施例提供的多种设备分量示意图;
图4是本发明实施例提供的一种数据处理方法示意图;
图5是本发明实施例提供的一种设备指纹确定方法示意图;
图6是本发明实施例提供的另一种设备指纹生成方法示意图;
图7是本发明实施例提供的一种设备指纹纠正方法示意图;
图8是本发明实施例提供的一种设备指纹生成装置框图;
图9是本发明实施例提供的算法层级确定模块框图;
图10是本发明实施例提供的计算输出模块框图;
图11是本发明实施例提供的设备指纹确定模块框图;
图12是本发明实施例提供的另一种设备指纹生成装置框图;
图13是本发明实施例提供的纠正模块框图;
图14是本发明实施例提供的服务器结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本发明实施例中涉及的相关概念作以下解释:
设备指纹:也称设备ID,可以用于标识该设备的设备特征或者独特的设备标识。
设备指纹冲突率概念为:对于一个实际的设备集合,在一定的时间段内,真实设备数量的集合为X,而通过不同设备分量计算出的设备集合为I,用Count(X)和Count(I)分别表示两个集合的数量。在足够短的时间内出现Count(X)>Count(I),便称I是一个存在冲突的设备集合,对应的设备指纹算法便是一个有冲突的设备指纹算法。
设备指纹漂移概念为:在一定的时间段内,真实设备数量的集合为X,而通过不同设备分量计算出的设备集合为I,用Count(X)和Count(I)分别表示两个集合的数量。在足够长的时间内出现Count(X)<Count(I),则称I是一个存在漂移的设备集合,对应的设备指纹算法便是一个有漂移的设备指纹算法。
设备分量:用于标识终端设备的一系列设备特征,根据设备分量可以计算设备指纹;设备分量通常包括操作系统类型、设备的硬件ID、设备的IMEI、设备的MAC地址等。
固有分量:设备分量中的核心设备分量,是较为稳定且不会轻易发生变化的设备分量,一般情况下,每个安卓设备都会有唯一的IMEI与其对应,每个IOS设备都会有唯一的IDFA(Identifier For Advertising)与其对应。
非固有分量:设备分量中的非核心设备分量,是不稳定且容易发生变化的设备分量,如设备的MAC地址,由于采集技术及设备环境的不稳定,会导致同一设备的MAC地址发生变化。
请参见图1,其示出了本发明实施例提供的实施环境示意图,该实施环境包括:若干终端设备110和服务器120,其中,所述终端设备110可以但不限于为手机、平板电脑、个人计算机等终端设备。所述服务器120可以是一台服务器,也可以是由若干服务器组成的服务器集群,或者是一个云计算服务中心。
如图1所示,在一个具体的业务场景下,服务器120对进入该项业务的若干用户设备110进行设备指纹的计算,具体的设备指纹生成方法可参见图2,其示出了一种设备指纹生成方法示意图,可以应用于服务器侧,所述方法包括:
由于在不同的业务场景下,会采集到不同的设备分量,从而本实施例提供了多层级设备指纹算法,能够根据采集的设备分量匹配相应算法层级所对应的目标算法,从而根据目标算法计算出当前业务场景下目标设备的设备指纹。不同业务场景下采集的设备分量不同,同一设备在不同的业务场景下所对应的设备指纹也是不同的。
S210.确定待采集的设备分量。
根据具体应用场景的预先设定,可以确定出在该场景下需要采集的设备分量,这里的设备分量可以包括图3中示出的设备分量中的一个或多个,以安卓系统为例,对设备分量的所有字段进行了隐私性分析,针对这些隐私数据,是需要获取用户授权后才会采集,如果没有用户的授权不会采集这些隐私数据。
S220.采集目标设备的所述设备分量,确定与所述设备分量相匹配的算法层级。
采集进入当前应用场景的目标设备的设备分量,其中包括需要授权采集的设备分量和无需授权采集的设备分量。
在采集设备分量之前,预先设置好设备分量与算法层级的对应关系;在采集到设备分量之后,根据采集的所述设备分量的类型和数量,以及预设的所述设备分量与所述算法层级的对应关系,确定与所述设备分量相匹配的算法层级。
其中,在采集到设备分量之后,依据多种大数据平台进行分析验证,得出较为稳定的设备分量,一定程度上确保了采集分量的准确性及有效性。
例如,在当前应用场景下,根据业务的需要,当采集的设备分量为IMEI,则可以确定与其对应的算法层级为第0级;当采集的设备分量为IMEI+MAC,则可以确定与其对应的算法层级为第1级。
S230.从预设多层算法中筛选出与所述算法层级对应的目标算法。
预设的多层算法里面包含多个算法,并且每一层算法的计算是独立的,对于每一层算法都对应有算法层级,以便于查找与标识。
S240.根据所述设备分量和所述目标算法进行计算,得到输出结果。
具体的计算过程可参见图4,其示出了一种数据处理方法,包括:
S410.将所述设备分量作为所述目标算法的输入值,对所述设备分量进行数据预处理,得到已处理数据。
这里的数据预处理可以是按预设规则对输入值进行转化、分组、归类或者统计等,从而得到符合预设格式的已处理数据。
S420.对所述已处理数据进行数据压缩,得到与所述设备分量相对应的输出结果。
在数据压缩运算完成后,对数据压缩输出的结果进行相应的数据整合处理,最终得到与所述设备分量相对应的输出结果。
本实施例中,对于图4所述的数据压缩计算方法,具体可以采用哈希算法。哈希函数的基本思想是对数据进行运算得到一个摘要,它以一个变长的报文作为输入,并产生一个定长的散列码。散列函数最主要的作用是用于鉴别数据的唯一性和做数据压缩。鉴别的目的有以下两个:第一,验证信息的发送者不是冒充的,同时发信息者也不能抵赖,此为信源识别;第二,验证信息完整性,在传递或存储过程中未被篡改,重放或者延迟等。
具体可采用HASH/MD5算法实现,但不限于MD5算法。对于任意长度的明文,MD5首先对其进行分组,使得每一组的长度为512位,然后对这些明文分组反复处理。
MD5算法的对于每个明文分组生成摘要的过程如下:
(1)将512位的明文分组划分为16个子明文分组,每个子明文分组为32位。
(2)申请4个32位的链接变量,记为A、B、C、D。
(3)子明文分组与链接变量进行第1轮运算。
(4)子明文分组与链接变量进行第2轮运算。
(5)子明文分组与链接变量进行第3轮运算。
(6)子明文分组与链接变量进行第4轮运算。
(7)链接变量与初始链接变量进行求和运算。
(8)链接变量作为下一个明文分组的输入重复进行以上操作。
(9)最后,4个链接变量里面的数据就是MD5摘要,将这4个32位分组级联后将生成128位散列值。
本发明中的数据压缩方法并不限于上述的哈希算法,可以进行数据压缩的算法都可以应用于本发明中。
S250.确定所述输出结果为所述目标设备的设备指纹。
根据输出结果确定设备指纹的具体过程可参见图5,包括:
S510.建立所述设备分量与所述设备指纹的对应关系。
S520.对所述设备分量、所述设备指纹以及所述设备分量与所述设备指纹的对应关系进行存储。
由于设备指纹是根据相应的设备分量进行计算得到的,所以这两者是相互对应的,建立这两者之间的对应关系。
对于采集的每组设备分量、根据设备分量计算得到的设备指纹,以及这两者之间的对应关系进行存储,以便于后续根据设备分量查找设备指纹,或者根据设备指纹查找相应的设备分量;并且,被存储的设备指纹也会被标识有算法层级,即标识该设备指纹是根据哪一层级的算法得到的。
本发明实施例提供的多层级算法根据采集到的设备分量进行层级设备指纹的计算,实际验证中设备分量采集的出错率的情况小于0.1%,但采集设备分量数量的多少会影响设备指纹的冲突性能和漂移性能,在保证核心分量数大于一定数量的情况下,本实施例中优选为5个,采集出错的情况对计算设备指纹准确性的影响非常小。所述多层级算法具体可以包括以下层级的算法:
算法0:Hash(key0),其中,key0为核心分量之一,这里的核心分量即为上述的固有分量。采用一个核心设备分量来计算设备指纹,可以优先保证算法的通用性和计算的成功率,允许一定的冲突率存在,一般会选择IMEI。在不同的隐私级别场景下,可选择IMEI+serialNo,这里的IMEI+serialNo可以作为一个设备分量来进行计算,进一步降低由于设备分量采集错误而对设备指纹计算准确性的影响。
算法1:Hash(key0+key1),该层级算法会使用更多的设备分量组合来计算该层级设备指纹,该层级算法能够降低部分冲突率并保证一定的通用性,一般会使用MAC作为第二层级的设备分量,即该层级的设备分量可以为IMEI+MAC。当然,上述算法0中的设备分量IMEI+serialNo也可以看成是两个设备分量的组合,应用到算法1中进行设备指纹的计算。
算法2:Hash(key0+key1+key2),该层主要是平衡通用和漂移的一层,该层级一般会采用较为常见的分量,如androidID,serialNo,CookieID等。
算法3:Hash(key0+key1+key2+key3+key4+key5+key6+key7+key8+key9),该层主要是在设备分量的数量充足的情况下,进一步减少设备指纹冲突的发生,采集的设备分量个数大于5,并且这些分量都是采集较稳定的,不会出现大面积缺失和频繁变动的,一般会采用IMEI、finger_print、brand、hardware、device、cpuinfo等,关于这些设备分量的说明,已在图3中给出。
需要说明的是,本实施例中主要以4个层级为例进行多层级算法的说明,但在实施过程中,不限于4个层级,可以使用少于或多于4个层级的层级算法来计算设备指纹,从而进一步降低冲突率,提高通用性。
本发明中对于同一个目标设备而言,其在进入到不同的业务场景时可能对应不同的算法层级,根据相应的算法层级需要获取不同的设备分量,自然通过相应层级算法得到的设备指纹是不同的。通过多层级算法,同一个设备在不同的业务场景中具有不同的设备指纹,而这些设备指纹均会存储在数据库中,共同组成了目标设备的设备指纹,每一层计算得到的设备指纹均可以用来唯一标识目标设备,即通过多维数据与相对确定的设备关联。
为了实现不同层级之间的互通,对于同一个目标设备,可以通过设备分量中的固有分量来确定是否属于同一设备不同层级的设备指纹。根据上述方法中提到的,设备指纹与设备分量是存在对应关系的,对于具有相同固有分量的设备分量,其所对应的设备指纹可能对应的是同一设备的设备指纹;具体地,以IMEI为固有分量,在存储有设备分量和设备指纹的数据库中查找具有相同IMEI的若干组设备分量,并根据设备分量与设备指纹的对应关系,查找到与其对应的若干个设备指纹,并将这若干个设备指纹确定为同一设备在不同业务场景下的设备指纹。当然,也可以通过其他一个或多个固有分量来确定设备指纹是否对应于同一设备,本实施例不做具体限定。
在确定了同一设备在不同业务场景的设备指纹之后,例如当黑产在某一业务场景下作恶时,通过各层级之间的数据互通,根据当前业务场景下黑产的设备指纹,获取到黑产在其他业务场景中的设备指纹,确定该设备指纹对应的设备为黑产设备,从而使得在各个业务场景下均可对黑产进行处理。
通过多层级算法在不同的应用场景下采集不同的设备分量,从而进行不同场景下的设备指纹的计算,实现了设备指纹算法的通用性;随着设备分量的数量的增加,能够进一步降低设备指纹冲突率。
请参见图6,其示出了本发明实施例提供的另一种设备指纹生成方法,包括:
S610.确定待采集的设备分量;
S620.采集目标设备的所述设备分量,确定与所述设备分量相匹配的算法层级;
S630.从预设多层算法中筛选出与所述算法层级对应的目标算法;
S640.根据所述设备分量和所述目标算法进行计算,得到输出结果;
S650.确定所述输出结果为所述目标设备的设备指纹。
步骤S610~步骤S650的具体实施细节与上述步骤S210~步骤S250相同,在此不再赘述。
S660.以预设周期对所述设备指纹进行纠正。
这里对设备指纹进行纠正主要是针对设备指纹发生漂移的情况,由于每次采集设备分量存在变动或者伪造篡改等情况,会导致同一设备在同一业务场景下出现不同的设备指纹,导致设备指纹的漂移率增长,如采集技术及设备环境的不稳定或经常改变和伪造篡改的MAC数据,一个月内的变化率会导致漂移率增加1%以上,因此,本实施例提供了一种设备指纹纠正方法,其中,所述设备分量包括固有分量和非固有分量,如图7所示,所述方法包括:
S710.当在所述预设周期内出现新的设备指纹时,获取与所述新的设备指纹对应的新设备分量。
本实施例中,预设周期优选为一个月。在同一算法层级下,根据采集的设备分量计算得到的设备指纹与该层级算法之前计算得到的历史设备指纹不同,则可以将该设备指纹看成是新的设备指纹,并获取与该新的设备指纹相对应的设备分量。
S720.将所述新设备分量与存储的所述设备分量进行匹配,确定与所述新设备分量具有相同固有分量的原设备分量。
根据上述对固有分量和非固有分量的说明,当前步骤中,将新设备分量与存储的设备分量进行匹配,找出与新设备分量具有相同固有分量的原设备分量。具有相同固有分量的原设备分量所对应的设备指纹有极大的可能对应的是同一个设备,本实施例中假设具有相同固有分量的设备分量所对应的设备指纹指向的是同一个设备。当然,对于设备分量的判断,不仅仅只局限于对固有分量的判断,对于同一算法层级的设备分量,相同的分量越多,那么所对应的设备指纹指向的是同一个设备的可能性就越大。比如,对于两个设备分量,其固有分量IMEI是相同的,则有90%的可能性通过这两组设备分量计算得到的设备指纹对应的是同一设备;若这两组设备分量,除了固有分量IMEI是相同的,分量cookieID也是相同的,则有大于90%的可能性通过这两组设备分量计算得到的设备指纹对应的是同一设备。
S730.比较所述新设备分量的非固有分量与所述原设备分量的非固有分量是否相同。
在确定了原设备分量之后,比较新设备分量与原设备分量的非固有分量是否相同。
S740.当所述新设备分量的非固有分量与所述原设备分量的非固有分量不相同的个数不大于预设阈值时,去除所述新的设备指纹。
本实施例中,预设阈值取2,经过非固有分量比较之后,当新设备分量与原设备分量的非固有分量不相同的个数为2个或1个时,即有1或2个非固有分量发生了变化,则认为这两个非固有分量是由于某种不定因素发生了变化,其实质上应该指向的还是原设备指纹,该新设备指纹被认为是高可疑发生漂移的设备指纹,此时进行设备指纹的更新与合并操作,将发生漂移的设备指纹去除。
上述设备指纹纠正方法可以是进行离线匹配纠正的方法,通过设备指纹纠正方法可以进一步降低漂移率,纠正发生漂移的设备指纹及可识别恶意频繁篡改的设备指纹。
本发明通过设计多层级算法来适用于不同应用场景的需要,具体根据不同的业务场景获取不同的设备分量,从而计算出设备在当前业务场景下的设备指纹,实现了不同设备指纹算法之间的兼容;通过各层级算法之间数据的互通,实现了同一设备在不同业务场景下设备指纹的关联,使得跨厂商跨业务的设备指纹可以像身份证或手机号一样,实现直接映射匹配,即通过某一设备在某一算法层级下的设备指纹,可以获取到该设备在其他算法层级下的设备指纹;通过设备指纹纠正方法,可以进一步降低漂移率,纠正发生漂移的设备指纹及篡改的设备指纹。通过多层级算法得到的设备指纹既能平衡冲突率和漂移率,也能兼容多种业务场景的设备指纹算法。
请参见图8,其示出了一种设备指纹生成装置,该装置可通过硬件和/或软件的方式实现,所述装置包括:
设备分量确定模块810,用于确定待采集的设备分量。
算法层级确定模块820,用于采集目标设备的所述设备分量,确定与所述设备分量相匹配的算法层级。
目标算法筛选模块830,用于从预设多层算法中筛选出与所述算法层级对应的目标算法。
计算输出模块840,用于根据所述设备分量和所述目标算法进行计算,得到输出结果。
设备指纹确定模块850,用于确定所述输出结果为所述目标设备的设备指纹。
其中,请参见图9,所述算法层级确定模块820包括:
采集模块910,用于采集所述设备分量。
匹配模块920,用于根据采集的所述设备分量的类型或数量,以及预设的所述设备分量与所述算法层级的对应关系,确定与所述设备分量相匹配的算法层级。
请参见图10,所述计算输出模块840包括:
预处理模块1010,用于将所述设备分量作为所述目标算法的输入值,对所述设备分量进行数据预处理,得到已处理数据。
数据压缩模块1020,用于对所述已处理数据进行数据压缩,得到与所述设备分量相对应的数据压缩结果。
请参见图11,所述设备指纹确定模块850包括:
关系建立模块1110,用于建立所述设备分量与所述设备指纹的对应关系。
存储模块1120,用于对所述设备分量、所述设备指纹以及所述设备分量与所述设备指纹的对应关系进行存储。
另外,请参见图12,其示出了本发明实施例提供的另一种设备指纹生成装置示意图,包括:
设备分量确定模块1210,用于确定待采集的设备分量。
算法层级确定模块1220,用于采集目标设备的所述设备分量,确定与所述设备分量相匹配的算法层级。
目标算法筛选模块1230,用于从预设多层算法中筛选出与所述算法层级对应的目标算法。
计算输出模块1240,用于根据所述设备分量和所述目标算法进行计算,得到输出结果。
设备指纹确定模块1250,用于确定所述输出结果为所述目标设备的设备指纹。
纠正模块1260,用于以预设周期对所述设备指纹进行纠正。
其中,请参见图13,所述纠正模块1260包括:
获取模块1310,用于当在所述预设周期内出现新的设备指纹时,获取与所述新的设备指纹对应的新设备分量。
匹配模块1320,用于将所述新设备分量与存储的所述设备分量进行匹配,确定与所述新设备分量具有相同固有分量的原设备分量。
比较模块1330,用于比较所述新设备分量的非固有分量与所述原设备分量的非固有分量是否相同。
判断模块1340,用于当所述新设备分量的非固有分量与所述原设备分量的非固有分量不相同的个数不大于预设阈值时,去除所述新的设备指纹。
上述实施例中提供的装置可执行本发明任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的方法。
本发明通过多场景海量数据分析得出稳定的多种设备分量数据,结合多层级计算法,根据不同的设备分量计算不同业务场景下的设备指纹,保证了设备指纹算法的通用性;随着不同层级设备分量的数量的增加,能够进一步降低设备指纹冲突率;通过各层级算法之间数据的互通,实现了同一设备在不同业务场景下设备指纹的关联;通过设备指纹纠正算法,降低设备指纹的漂移率。在大量的数据分析和验证下,本发明可以实现十亿级的设备指纹的冲突率小于0.1%,并确保在一个月内设备指纹的冲突率小于1%,进一步采用设备指纹纠正算法,可使得设备指纹冲突率小于0.1%,并可及时有效地追踪用户设备,实现各业务场景下的设备指纹的关联匹配。
本发明可以应用于各种业务安全场景,但不限于金融欺诈、作弊刷量、盗取账号、恶意注册等。对于黑产来讲,可以实现多业务场景的黑产数据的互通联动分析,进一步提升黑产的作恶成本。另外,本发明不仅仅可以用于安全场景,还可用于用户价值分析领域,例如用户属性挖掘、用户广告推荐等场景。
本发明实施例还提供了一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行本发明实施例提供的任意方法。
请参见图14,本发明实施例还提供了一种服务器,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1422(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。上述实施例中所述方法步骤的执行均可以基于该图14所示的服务器结构。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本发明的范围。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种设备指纹生成方法,其特征在于,包括:
确定待采集的设备分量;
采集目标设备的所述设备分量,确定与所述设备分量相匹配的算法层级;
从预设多层算法中筛选出与所述算法层级对应的目标算法;
根据所述设备分量和所述目标算法进行计算,得到输出结果;
确定所述输出结果为所述目标设备的设备指纹。
2.根据权利要求1所述的一种设备指纹生成方法,其特征在于,所述确定所述输出结果为所述目标设备的设备指纹包括:
建立所述设备分量与所述设备指纹的对应关系;
对所述设备分量、所述设备指纹以及所述设备分量与所述设备指纹的对应关系进行存储。
3.根据权利要求2所述的一种设备指纹生成方法,其特征在于,所述方法还包括:
以预设周期对所述设备指纹进行纠正。
4.根据权利要求3所述的一种设备指纹生成方法,其特征在于,所述设备分量包括固有分量和非固有分量;
所述以预设周期对所述设备指纹进行纠正包括:
当在所述预设周期内出现新的设备指纹时,获取与所述新的设备指纹对应的新设备分量;
将所述新设备分量与存储的所述设备分量进行匹配,确定与所述新设备分量具有相同固有分量的原设备分量;
比较所述新设备分量的非固有分量与所述原设备分量的非固有分量是否相同;
当所述新设备分量的非固有分量与所述原设备分量的非固有分量不相同的个数不大于预设阈值时,去除所述新的设备指纹。
5.根据权利要求1所述的一种设备指纹生成方法,其特征在于,所述采集目标设备的所述设备分量,确定与所述设备分量相匹配的算法层级包括:
根据采集的所述设备分量的类型或数量,以及预设的所述设备分量与所述算法层级的对应关系,确定与所述设备分量相匹配的算法层级。
6.根据权利要求1所述的一种设备指纹生成方法,其特征在于,所述根据所述设备分量和所述目标算法进行计算,得到输出结果包括:
将所述设备分量作为所述目标算法的输入值,对所述设备分量进行数据预处理,得到已处理数据;
对所述已处理数据进行数据压缩,得到与所述设备分量相对应的输出结果。
7.一种设备指纹生成装置,其特征在于,包括:
设备分量确定模块,用于确定待采集的设备分量;
算法层级确定模块,用于采集目标设备的所述设备分量,确定与所述设备分量相匹配的算法层级;
目标算法筛选模块,用于从预设多层算法中筛选出与所述算法层级对应的目标算法;
计算输出模块,用于根据所述设备分量和所述目标算法进行计算,得到输出结果;
设备指纹确定模块,用于确定所述输出结果为所述目标设备的设备指纹。
8.根据权利要求7所述的一种设备指纹生成装置,其特征在于,所述设备指纹确定模块包括:
关系建立模块,用于建立所述设备分量与所述设备指纹的对应关系;
存储模块,用于对所述设备分量、所述设备指纹以及所述设备分量与所述设备指纹的对应关系进行存储。
9.根据权利要求8所述的一种设备指纹生成装置,其特征在于,所述装置还包括:
纠正模块,用于以预设周期对所述设备指纹进行纠正。
10.根据权利要求9所述的一种设备指纹生成装置,其特征在于,所述设备分量包括固有分量和非固有分量;
所述纠正模块包括:
获取模块,用于当在所述预设周期内出现新的设备指纹时,获取与所述新的设备指纹对应的新设备分量;
匹配模块,用于将所述新设备分量与存储的所述设备分量进行匹配,确定与所述新设备分量具有相同固有分量的原设备分量;
比较模块,用于比较所述新设备分量的非固有分量与所述原设备分量的非固有分量是否相同;
判断模块,用于当所述新设备分量的非固有分量与所述原设备分量的非固有分量不相同的个数不大于预设阈值时,去除所述新的设备指纹。
11.根据权利要求7所述的一种设备指纹生成装置,其特征在于,所述算法层级确定模块包括:
采集模块,用于采集所述设备分量;
匹配模块,用于根据采集的所述设备分量的类型或数量,以及预设的所述设备分量与所述算法层级的对应关系,确定与所述设备分量相匹配的算法层级。
12.根据权利要求7所述的一种设备指纹生成装置,其特征在于,所述计算输出模块包括:
预处理模块,用于将所述设备分量作为所述目标算法的输入值,对所述设备分量进行数据预处理,得到已处理数据;
数据压缩模块,用于对所述已处理数据进行数据压缩,得到与所述设备分量相对应的数据压缩结果。
CN201811448928.0A 2018-11-28 2018-11-28 一种设备指纹生成方法及装置 Active CN109657447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811448928.0A CN109657447B (zh) 2018-11-28 2018-11-28 一种设备指纹生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811448928.0A CN109657447B (zh) 2018-11-28 2018-11-28 一种设备指纹生成方法及装置

Publications (2)

Publication Number Publication Date
CN109657447A true CN109657447A (zh) 2019-04-19
CN109657447B CN109657447B (zh) 2023-03-14

Family

ID=66111999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811448928.0A Active CN109657447B (zh) 2018-11-28 2018-11-28 一种设备指纹生成方法及装置

Country Status (1)

Country Link
CN (1) CN109657447B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001838A (zh) * 2011-09-14 2013-03-27 中国移动通信集团公司 传感器设备标识的生成及使用方法、系统和相关设备
US20150074809A1 (en) * 2006-10-17 2015-03-12 Threatmetrix Pty Ltd Method for tracking machines on a network using multivariable fingerprinting of passively available information
CN105763521A (zh) * 2014-12-18 2016-07-13 阿里巴巴集团控股有限公司 一种设备验证方法及装置
CN106407768A (zh) * 2015-07-29 2017-02-15 阿里巴巴集团控股有限公司 一种设备指纹的确定、对目标设备进行识别的方法和设备
CN107070675A (zh) * 2016-10-19 2017-08-18 腾云天宇科技(北京)有限公司 一种确定网络设备的应用场景的方法、装置和计算设备
CN107341389A (zh) * 2017-06-26 2017-11-10 北京洋浦伟业科技发展有限公司 防止设备复用的方法及装置
CN107516038A (zh) * 2017-08-08 2017-12-26 北京梆梆安全科技有限公司 一种确定设备指纹的方法及装置
CN107622198A (zh) * 2017-07-11 2018-01-23 上海点融信息科技有限责任公司 用于实现设备指纹的方法、装置和计算机可读存储介质
CN107665299A (zh) * 2016-07-28 2018-02-06 中兴通讯股份有限公司 一种终端指纹生成方法及装置
CN108092976A (zh) * 2017-12-15 2018-05-29 北京知道创宇信息技术有限公司 设备指纹构造方法及装置
CN108632213A (zh) * 2017-03-20 2018-10-09 腾讯科技(北京)有限公司 设备信息处理方法及装置
CN108804908A (zh) * 2017-05-04 2018-11-13 腾讯科技(深圳)有限公司 一种设备指纹生成方法、装置及计算设备
CN108809680A (zh) * 2017-05-04 2018-11-13 腾讯科技(深圳)有限公司 一种设备管理的方法及设备
CN108898005A (zh) * 2018-07-09 2018-11-27 郑州云海信息技术有限公司 一种硬盘识别的方法、系统、设备及计算机可读存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150074809A1 (en) * 2006-10-17 2015-03-12 Threatmetrix Pty Ltd Method for tracking machines on a network using multivariable fingerprinting of passively available information
CN103001838A (zh) * 2011-09-14 2013-03-27 中国移动通信集团公司 传感器设备标识的生成及使用方法、系统和相关设备
CN105763521A (zh) * 2014-12-18 2016-07-13 阿里巴巴集团控股有限公司 一种设备验证方法及装置
CN106407768A (zh) * 2015-07-29 2017-02-15 阿里巴巴集团控股有限公司 一种设备指纹的确定、对目标设备进行识别的方法和设备
CN107665299A (zh) * 2016-07-28 2018-02-06 中兴通讯股份有限公司 一种终端指纹生成方法及装置
CN107070675A (zh) * 2016-10-19 2017-08-18 腾云天宇科技(北京)有限公司 一种确定网络设备的应用场景的方法、装置和计算设备
CN108632213A (zh) * 2017-03-20 2018-10-09 腾讯科技(北京)有限公司 设备信息处理方法及装置
CN108804908A (zh) * 2017-05-04 2018-11-13 腾讯科技(深圳)有限公司 一种设备指纹生成方法、装置及计算设备
CN108809680A (zh) * 2017-05-04 2018-11-13 腾讯科技(深圳)有限公司 一种设备管理的方法及设备
CN107341389A (zh) * 2017-06-26 2017-11-10 北京洋浦伟业科技发展有限公司 防止设备复用的方法及装置
CN107622198A (zh) * 2017-07-11 2018-01-23 上海点融信息科技有限责任公司 用于实现设备指纹的方法、装置和计算机可读存储介质
CN107516038A (zh) * 2017-08-08 2017-12-26 北京梆梆安全科技有限公司 一种确定设备指纹的方法及装置
CN108092976A (zh) * 2017-12-15 2018-05-29 北京知道创宇信息技术有限公司 设备指纹构造方法及装置
CN108898005A (zh) * 2018-07-09 2018-11-27 郑州云海信息技术有限公司 一种硬盘识别的方法、系统、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN109657447B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
CN105871832B (zh) 一种基于协议属性的网络应用加密流量识别方法及其装置
CN110213227A (zh) 一种网络数据流检测方法及装置
CN111930598B (zh) 基于区块链和大数据分析的信息处理方法及大数据平台
CN108206813B (zh) 基于k均值聚类算法的安全审计方法、装置及服务器
CN110166344B (zh) 一种身份标识识别方法、装置以及相关设备
CN111934890B (zh) 密钥生成方法、签名和验签方法、装置、设备和介质
CN110598410B (zh) 一种恶意进程的确定方法、装置、电子设备及存储介质
JP6629973B2 (ja) 携帯電話番号を変更するためのサービス要求を認識する方法及び装置
CN110990790B (zh) 一种数据处理方法及设备
Aloqaily et al. Towards blockchain-based hierarchical federated learning for cyber-physical systems
US11412063B2 (en) Method and apparatus for setting mobile device identifier
CN109286506B (zh) 一种流量计费的方法、系统及装置
CN109614789B (zh) 一种终端设备的验证方法及设备
CN105184559B (zh) 一种支付系统及方法
CN113129002A (zh) 一种数据处理方法以及设备
CN108924089A (zh) 一种客户端设备识别方法、装置及客户端设备
CN110222187B (zh) 保护用户隐私的共同活动检测与数据共享方法
CN111797942A (zh) 用户信息的分类方法及装置、计算机设备、存储介质
CN109657447A (zh) 一种设备指纹生成方法及装置
CN108882230B (zh) 通话记录管理方法、装置及系统
CN114205816B (zh) 一种电力移动物联网信息安全架构及其使用方法
CN116302889A (zh) 功能模块的性能测试方法、装置和服务器
CN110618989A (zh) 信息处理方法、信息处理装置及相关产品
CN113114465B (zh) 归属权限的处理方法及装置、存储介质、电子装置
CN112417052B (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