CN111478986A - 设备指纹的生成方法、装置、设备及存储介质 - Google Patents

设备指纹的生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111478986A
CN111478986A CN202010570908.1A CN202010570908A CN111478986A CN 111478986 A CN111478986 A CN 111478986A CN 202010570908 A CN202010570908 A CN 202010570908A CN 111478986 A CN111478986 A CN 111478986A
Authority
CN
China
Prior art keywords
equipment
target
fingerprint
feature
stock
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
CN202010570908.1A
Other languages
English (en)
Other versions
CN111478986B (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 CN202010570908.1A priority Critical patent/CN111478986B/zh
Publication of CN111478986A publication Critical patent/CN111478986A/zh
Application granted granted Critical
Publication of CN111478986B publication Critical patent/CN111478986B/zh
Priority to PCT/CN2021/093473 priority patent/WO2021258898A1/zh
Priority to US17/846,360 priority patent/US20220329591A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/3015Name registration, generation or assignment
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/3005Mechanisms for avoiding name conflicts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Abstract

本申请的实施例揭示了一种设备指纹的生成方法及相关装置。该方法包括:获取目标设备的设备特征;针对目标设备的设备特征进行防重处理,获得目标设备对应的多个设备特征组合;从存量设备指纹库中查询与各个设备特征组合相关联的存量设备的信息,存量设备指纹库中包含有设备特征组合与存量设备的信息之间的索引关系;根据目标设备的设备特征和查询得到的各个存量设备的设备特征,在目标设备与各个存量设备之间进行设备相似度的识别处理,获得目标设备与各个存量设备之间的相似度;将相似度大于相似度阈值的存量设备的设备指纹作为目标设备的设备指纹。本申请实施例生成的设备指纹具有很高的唯一性,能够保证互联网信息的隐私和安全。

Description

设备指纹的生成方法、装置、设备及存储介质
技术领域
本申请涉及互联网信息安全技术领域,具体涉及一种设备指纹的生成方法、装置、设备和计算机可读存储介质。
背景技术
随着移动互联网应用技术的发展和普及,设备指纹作为唯一标识一个设备的标识符,被广泛地应用在各种涉及互联网信息安全的行业,例如在互联网风控行业中,需要根据设备指纹对用户进行唯一性身份确认,并在确认用户的唯一身份后向用户开放信息权限,从而保证互联网信息交互的安全性。因此,如何确保设备指纹的唯一性,将是提升互联信息交互安全的重要技术手段。
发明内容
为保证设备指纹的唯一性,本申请的实施例提供了一种设备指纹的生成方法、装置、设备以及计算机可读存储介质,用以生成唯一性很高的设备指纹,进而提升互联网信息交互的安全性。
其中,本申请所采用的技术方案为:
一种设备指纹的生成方法,包括:获取所述目标设备的设备特征;针对所述目标设备的设备特征进行防重处理,获得所述目标设备对应的多个设备特征组合;从存量设备指纹库中查询与各个所述设备特征组合相关联的存量设备的信息,所述存量设备指纹库中包含有所述设备特征组合与所述存量设备的信息之间的索引关系;根据所述目标设备的设备特征和查询得到的各个存量设备的设备特征,在所述目标设备与所述各个存量设备之间进行设备相似度的识别处理,获得所述目标设备与所述各个存量设备之间的相似度; 将相似度大于相似度阈值的存量设备的设备指纹作为所述目标设备的设备指纹。
一种设备指纹的生成装置,包括:设备特征获取模块,用于获取所述目标设备的设备特征;设备特征组合模块,用于针对所述目标设备的设备特征进行防重处理,获得所述目标设备对应的多个设备特征组合;存量信息获取模块,用于从存量设备指纹库中查询与各个所述设备特征组合相关联的存量设备的信息,所述存量设备指纹库中包含有所述设备特征组合与所述存量设备的信息之间的索引关系;相似度计算模块,用于根据所述目标设备的设备特征和查询得到的各个存量设备的设备特征,在所述目标设备与所述各个存量设备之间进行设备相似度的识别处理,获得所述目标设备与所述各个存量设备之间的相似度;设备指纹获取模块,用于将相似度大于相似度阈值的存量设备的设备指纹作为所述目标设备的设备指纹。
一种设备指纹的生成设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的设备指纹的生成方法。
一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的设备指纹的生成方法。
在上述技术方案中,针对目标设备的设备特征进行防重处理所得到的多个设备特征组合,从存量设备指纹库中查询与各个设备特征组合相关联的存量设备的信息,并根据目标设备的设备特征和查询到的各个存量设备的设备特征得到目标设备与各个存量设备之间的相似度,将相似度大于相似度阈值的存量设备的设备指纹作为目标设备的设备指纹,由于不同设备的设备特征各不相同,经由防重处理所得到的各个设备特征组合也各不相同,因此目标设备的设备指纹能够体现目标设备在各个设备特征组合所对应的信息维度上的设备信息,并且各个维度的设备信息相互独立,在极大程度上增加了设备指纹的唯一性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请涉及的一种实施环境的示意图。
图2是图1所示实施环境对应的交互时序示意图。
图3是根据一示例性实施例示出的一种构建存量设备指纹库、特征组合列表以及特征值黑名单库的流程图。
图4是根据一示例性实施例示出的一种存量设备指纹库的示意图。
图5是根据一示例性实施例示出的一种设备指纹的生成方法的流程图。
图6是根据另一示例性实施例示出的一种设备指纹的生成方法的流程图。
图7是根据另一示例性实施例示出的一种设备指纹的生成方法的流程图。
图8是根据另一示例性实施例示出的一种设备指纹的生成方法的流程图。
图9是根据另一示例性实施例示出的一种设备指纹的生成方法的流程图。
图10是一示例性的应用场景中生成设备指纹的流程图。
图11是根据一示例性实施例示出的一种业务系统交互示意图。
图12是根据一示例性实施例示出的一种设备指纹的生成装置的框图。
图13是根据一示例性实施例示出的一种设备指纹的生成设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
请参阅图1,图1是本申请涉及的一种实施环境的示意图。
图1所示的实施环境具体为一业务系统,包括用户侧和业务侧,用户侧具体包括多个客户端110(图1中仅示出1个),并且每个客户端110均通过有线或者无线的方式与业务侧进行通信。业务侧具体包括业务服务端120和本地化服务端130,并且业务服务端120和本地化服务端130部署在同一网络环境中,例如均部署于业务侧机房中。
业务服务端120用于为客户端110提供业务服务,基于客户端110与业务服务端120之间的业务信息交互,以实现客户端110所提供的业务功能。客户端110中运行有设备特征收集SDK(Software Development Kit,软件开发工具包),该设备特征收集SDK用以收集客户端110所在设备的设备特征,并将收集到的设备特征发送至本地化服务端130。本地化服务端130通过对设备特征收集SDK收集的设备特征进行排列组合得到多个设备特征组合,然后从存量设备指纹库中查询与各个设备特征组合相关联的存量设备的信息,并根据客户端110所在设备的设备特征和查询到的各个存量设备的设备特征计算客户端110所在设备与各个存量设备之间的相似度,将相似度大于相似度阈值的存量设备的设备指纹作为客户端110所在设备的设备指纹。业务服务端120从本地化服务端130中获取客户端110所在设备的设备指纹,以基于该设备指纹为客户端110提供服务。
客户端110所在设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。业务服务端120和本地化服务端130可以是服务器,具体可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,本处不进行限制。
图2是图1所示实施环境对应的交互时序示意图。
如图2所示,首先,部署在设备上的客户端110需要向业务服务端120发送初始化票据获取请求,以向业务服务端120请求获取用于初始化设备特征收集SDK的初始化票据。其中,初始化票据是验证客户端110的登录身份以及状态的标志,如果客户端110获取得到初始化票据,则表示业务服务端120具有初始化设备特征收集SDK的权限。
业务服务端120接收到客户端110发送的初始化票据获取请求后,则根据初始化票据请求中携带的客户端信息对到客户端110的登录身份进行验证,例如,客户端信息可以是客户端110中登录的用户账号、用户账号的登录状态等信息。如果验证客户端110的登录身份是可信的,业务服务端120则调用本地化服务端130的初始化票据获取接口,例如调用“RPGet Token”接口,以使得本地化服务端130响应于所述初始化票据获取接口的调用,将初始化票据返回至业务服务端120,并由业务服务端120将接收到的初始化票据发送至客户端110。
客户端110根据接收到的初始化票据对设备特征收集SDK进行初始化设置,以使设备特征收集SDK实现初始化,并在完成初始化之后自动收集客户端110所在设备的设备特征,例如收集一些用户许可的设备特征,并将收集的设备特征上报至本地化服务端130。
本地化服务端130则根据设备特征收集SDK上报的设备特征生成客户端110所在设备的设备指纹,同时还为生成的设备指纹分配一个指纹票据,以通过指纹票据与设备指纹关联,并将指纹票据相应返回至设备特征收集SDK。应当理解,业务系统中的设备长期使用同一设备指纹会降低业务系统的安全性,并且设备可能发生技术迭代等更新,使用单一的设备指纹会导致设备指纹对设备的标识能力下降,也会降低业务系统的安全性,因此设备指纹是需要不断更新的,例如本地化服务端130每间隔1天就对业务系统中的所有设备的设备指纹进行更新。每生成一次设备指纹,本地化服务端130都相应分配一个指纹票据,通过该指纹票据即可查询到唯一有效的设备指纹。
当客户端110向设备特征收集SDK发送指纹票据获取请求时,设备特征收集SDK基于该指纹票据获取请求,将接收到的指纹票据返回至客户端110。客户端110获取到指纹票据之后,向业务服务端120上报指纹票据。业务服务端120则根据该指纹票据,向本地化服务端130发起指纹设备获取请求,该指纹设备获取请求中携带有指纹票据,以使得本地化服务端130相应获取与该指纹票据关联的设备指纹,并将与该指纹票据关联的设备指纹返回给业务服务端120。
由此,业务服务端120从本地化服务端130中获取的与指纹票据关联的设备指纹,也即是客户端110所在设备的设备指纹,基于该设备指纹,业务服务端120则可以与客户端110之间进行安全的信息交互。
其中,本地服务端130根据客户端110中部署的设备特征收集SDK上报的设备特征生成客户端110所在设备的设备指纹的具体过程请参见后续实施例中记载的内容,本处不进行赘述。
首先,本申请的实施例预先构建了存量设备指纹库、特征组合列表以及特征值黑名单库,以在设备指纹的生成过程中,从构建的存量设备指纹库、特征组合列表以及特征值黑名单库中获取相应信息。因此,可以将构建存量设备指纹库、特征组合列表以及特征值黑名单库的过程称为离线阶段,并将设备指纹的生成过程称为实时阶段。
具体地,存量设备指纹库中含有大量存量设备分别对应的设备特征和设备指纹,还含有针对各个存量设备的设备特征进行排列组合得到的多个设备特征组合,以及含有各个设备特征组合与存量设备之间的索引关系。根据存量设备含有的任一设备特征组合,均可以在存量设备指纹库中查询到相应存量设备的设备指纹。
需要说明的是,存量设备是指离线阶段收集到的设备特征所对应的设备,存量设备的数量级通常是较大的。存量设备的设备指纹是根据存量设备对应的多个设备特征组合生成的。并且,本申请的实施例中描述的“多个”具体是指至少两个。
特征组合列表中含有各个存量设备对应的设备特征组合,在实时阶段则可以根据特征组合列表对若干单独的设备特征进行组合,即相当于是对若干单独的设备特征进行排列组合,以获得多个设备特征组合。
特征值黑名单库中则含有若干无效的设备特征。其中,如果设备特征的重复度越低,设备特征越容易区分,基于这些设备特征生成的设备指纹也越容易区分,设备指纹的唯一性就越高,这些设备特征越有效。设备特征的无效性则是相对有效性而言的,因此可以通过设备特征的重复程度来判定设备特征是否有效。
图3是根据一示例性实施例示出的构建存量设备指纹库220、特征组合列表230以及特征值黑名单库240的流程图。
如图3所示,首先需要收集若干设备的设备特征,以得到设备特征样本集合210。若干设备是指大量的用户设备,这些设备的设备特征包括用于表征设备硬件和/或软件的相关信息,例如IMEI(International Mobile Equipment Identity,国际移动设备识别码)、CPU ID(是指设备的信息处理器的标识)、IMSI(International Mobile SubscriberIdentity,国际移动用户识别码)、IP(Internet Protocol,网际互连协议)地址等,本处不一一进行列举。
设备特征是从设备中收集得到的,例如通过设备中运行的设备特征收集SDK所收集得到。由于可能存在一些伪装的设备,例如模拟器设备和虚拟机设备,这些伪装的设备不具有唯一性,不能将这些伪装的设备作为存量设备,从而需要从设备特征样本集合210中筛选真实设备作为存量设备,并将真实设备的设备特征作为存量设备的设备特征。
通过对各个存量设备的设备特征进行排列组合,以得到各个存量设备对应的多个设备特征组合,然后根据各个存量设备对应的设备特征组合计算各个存量设备的设备指纹,以基于各个存量设备的设备指纹、设备特征以及各个存量设备对应的多个设备特征组合构建存量设备指纹库220。例如,根据图4所示的存量设备指纹库220可知,存量设备指纹库220中包含有设备特征组合与存量设备的信息之间的索引关系,基于任一设备特征组合,即可查询到相应存量设备的设备特征和设备指纹。其中,针对设备特征进行排列组合可以是将任意的两个设备特征或者三个设备特征组合为一个设备特征组合,本处不对设备特征的具体组合方式进行限制。
具体地,针对其中一个存量设备,通过确定该存量设备含有的设备特征组在全部存量设备的设备特征组合中重复出现的重复程度,然后重复程度小于重复度阈值的设备特征组合,并根据重复程度小于重复度阈值的设备特征组合计算该存量设备的设备指纹,由此即可在存量设备指纹库220中添加该存量设备对应的各个设备特征组合与该存量设备之间的索引关系。相比于直接通过设备特征来生成设备指纹,本实施例基于设备特征组合来生成设备指纹能够增加设备指纹的复杂度,使得不同存量设备的设备指纹更容易区分,进而使得存量设备的设备指纹具有较高的唯一性。
示例性的,可以对筛选得到的重复程度小于重复度阈值(例如为0.05)的各个设备特征组合计算哈希值,然后拼接各个哈希值,以得到存量设备的设备指纹。如图4所示,存量设备A对应设备特征组合1至设备特征组合a,针对各个设备特征组合计算得到的哈希值相应为哈希值1至哈希值a,存量设备A的设备指纹即可表示为各个哈希值的任意拼接组合。针对各个设备特征组合进行哈希运算的方式可以具体可以是Murmurhash3(是Murmur哈希函数的一个版本)方式或者其它哈希函数版本的方式,本处不进行限制。
通过将各个存量设备的相关索引信息分别添加至存量设备指纹库220中,即可得到存量设备指纹库220。基于此,用于计算存量设备的设备指纹的设备特征组合具有很高的可分区性,能够保证存量设备指纹库220中含有的存量设备的设备指纹具有很高的唯一性。
仍请参见图3,本实施例还根据重复程度大于重复度阈值的所有设备特征组合构建特征组合列表230,具体是将重复程度小于重复度阈值的各个设备特征组合添加至特征组合列表230中,以使得特征组合列表230中不仅含有各个设备特征组合,还含有组成设备特征组合的各个设备特征。
本实施例还统计特征组合列表230含有的各个设备特征在设备特征样本集合210中重复出现的次数,并根据重复出现的次数大于与预设的次数阈值(例如为1000次)的所有设备特征构建特征值黑名单库240。并且还可以通过调研主流的设备厂商的IMEI、IMSI等设备特征,以扩充特征值黑名单库240。可以看出,特征值黑名单库240中含有的设备特征的区分性很低,根据这些设备特征生成的设备指纹的唯一性也很低。
在生成设备指纹的实时阶段,即可以从本实施例构建的存量设备指纹库220、特征组合列表230以及特征值黑名单库240中获取用于生成设备指纹的相应信息,具体的获取方式请参见以下的实施例,本处不进行赘述。
图5是根据一示例性实施例示出的一种设备指纹的生成方法的流程图。该方法可以适用于图1所示的业务系统,并且由系统中的本地化服务端130具体执行,以使得本地化服务端130根据客户端110中运行的设备特征收集SDK所发送的设备特征,生成客户端110所在设备的设备指纹。
如图5所示,在一示例性实施例中,该方法至少包括如下步骤:
目标110,获取目标设备的设备特征。
首先需要说明的是,目标设备是指需要对其生成设备指纹的设备。目标设备的设备特征包括用于表征目标设备的硬件和/或软件的相关信息,例如包括IMEI、CPU ID、IMSI等信息,本处不进行限制。
目标设备中安装有客户端,并且该客户端中运行有设备特征收集SDK,以通过设备特征收集SDK自动收集目标设备的设备特征。在另外的一些实施例中,目标设备的设备特征还可以通过其它方式获得,例如预先在目标设备中查询目标设备的设备特征,并将查询到的各个设备特征存储在一列表文件,进而可以从该列表文件中读取相应设备特征,本处不也对此进行限制。步骤310,针对目标设备的设备特征进行防重处理,获得目标设备对应的多个设备特征组合。
考虑到单一的设备特征的重复程度可能较大,唯一性也就较低,不利于生成唯一性较高的设备指纹,多个设备特征的组合即可以解决此问题。并且存量设备设置指纹中含有的存量设备的设备指纹也是基于存量设备对应的设备特征组合构建得到的,使得存量设备的设备指纹的唯一性较高,因此本实施例有必要对目标设备的设备特征进行防重处理,以得到目标设备对应的设备特征组合。
在一个实施例中,针对目标设备的设备特征进行的防重处理具体可以是对任意数量的设备特征进行组合,例如将任意的两个或者三个设备特征组合为一个设备特征组合,由此得到目标设备所对应的多个设备特征组合。
或者在其它的实施例中,由于前述实施例中预先构建的特征组合列表中含有大量存量设备对应的设备特征组合,本实施例则可以从特征组合列表中查询由任意数量的目标设备的设备特征所构成的目标特征组合,查询到的各个目标特征组合即为目标设备对应的各个设备特征组合,由此实现对目标设备的设备特征进行的防重处理。应当理解,本实施例描述的“多个”具体为至少两个。
因此,本实施例通过获取目标设备对应的多个设备特征组合,以基于这些设备特征组合来构建目标设备的设备指纹。由于设备特征组合相对各个独立的设备特征的重复度更低,基于各个设备特征组合构建的设备指纹更容易区分,因此设备指纹的唯一性更高,使用设备指纹进行信息交互的安全性也更高。
步骤330,从存量设备指纹库中查询与各个设备特征组合相关联的存量设备的信息,存量设备指纹库中包含有设备特征组合与存量设备的信息之间的索引关系。
如前述实施例中描述的,存量设备指纹库是基于大量的存量设备的设备特征构建得到的,并且存量设备指纹库中包含有设备特征组合与存量设备的信息之间的索引关系,如图4所示,基于设备特征组合即可以在存量设备指纹库中查询到相应存量设备的设备特征以及设备指纹。
由此,基于存量设备指纹库中包含的索引关系,即能够根据目标设备对应的各个设备特征组合,在存量设备指纹库中查询到与各个设备特征组合相关联的存量设备的设备特征以及设备指纹。其中,设备特征组合与存量设备的信息相关联是指设备特征组合与存量设备的信息之间具有索引关系。
对不同的存量设备来说,预先收集的存量设备的部分设备特征之间可能相同,使得不同的存量设备之间可能含有相同的设备特征组合,因此存量设备指纹库中与目标设备的各个设备特征组合相关联的存量设备可能是多个,从存量设备指纹库中查询与目标设备的各个设备特征组合相关联的存量设备的信息则可能对应不同的存量设备。
本实施例通过在存量设备指纹库中查询与目标设备的各个设备特征组合相关联的存量设备的信息,能够获得到与目标设备有关联的各个存量设备,后续通过目标设备与各个存量设备之间的相似度来确认与目标设备相似度较高的存量设备,以基于这些存量设备的设备指纹来构建目标设备的设备指纹。由于存量设备的设备指纹也是基于存量设备对应的各个设备特征组合构建的,唯一性较高,因此目标设备的设备指纹的唯一性也较高。
步骤350,根据目标设备的设备特征和查询得到的各个存量设备的设备特征,在目标设备与各个存量设备之间进行设备相似度的识别处理,获得目标设备与各个存量设备之间的相似度。
目标设备与存量设备之间的相似度用于表征目标设备具体是该存量设备的可能性,需要根据目标设备的设备特征和查询得到的存量设备的设备特征进行目标设备与从存量设备的之间相似度识别。
示例性的,可以通过等值匹配的相似度衡量方式进行目标设备与存量设备之间的相似度识别。例如,通过将不同的设备特征区分为不同的特征类型,例如包括IMEI特征类型、CPU ID特征类型、IMSI特征类型等,如果目标设备与存量设备在同一特征类型下的设备特征相同,则将目标设备与存量设备的相似度确认为1,反之则确认为0,最后计算所有特征类型的相似度之和,从而得到目标设备与存量设备之间的相似度。
在另外的实施例中,还可以通过其它的相似度衡量方式进行目标设备与存量设备之间的相似度识别,例如,如果目标设备和存量设备的IP地址隶属于同一区域,则认为目标设备与存量设备为相似的设备,并将相似度赋值为设定的数值,本处不对此进行限制。
步骤370,将相似度大于相似度阈值的存量设备的设备指纹作为目标设备的设备指纹。
如前所述的,通过计算目标设备与各个存量设备之间的相似度,即可以得到各个存量设备为目标设备的可能性,相似度大于相似度阈值的存量设备则很有可能为目标设备。并且基于不同的相似度衡量方式,所设置的相似度阈值可能不同。
在本实施例中,将相似度大于相似度阈值的存量设备的设备指纹作为目标设备的设备指纹,以使得目标设备的设备指纹实际上是从预先构建的存量设备指纹库中查询得到的,由于存量设备指纹库中含有的存量设备的设备指纹是基于存量设备的各个设备特征组合得到的,具备较高的唯一性,因此本实施例所得到的目标设备的设备指纹也具备较高的唯一性。
还需要说明的是,由于步骤330中查询得到的与目标设备的设备特征组合相关联的存量设备可能有多个,因此相似度大于相似阈值的存量设备也可能有多个。当相似度大于相似阈值的存量设备的数量为多个时,可以将相似度最大的存量设备的设备指纹作为目标设备的设备指纹,也可以拼接所有相似度大于相似阈值的存量设备的设备指纹,以得到目标设备的设备指纹,本实施例不对此进行限制。并且,针对相似度大于相似阈值的各个存量设备的设备指纹的拼接方式可以是任意的,也可以是按照相似度由小到大或者由大大小的排序依次进行拼接,本处也不进行限制。
无论目标设备的设备指纹具体为一个存量设备的设备指纹还是由多个存量设备的设备指纹拼接形成,由于存量设备的设备指纹是基于存量设备的多个设备特征组合对应的哈希值拼接得到的,因此目标设备的设备指纹中具体含有多个域段的指纹信息,不同的目标设备的设备指纹所含有的域段数各不相同,因此不同的目标设备的设备指纹之间的具有很高的可区分性,从而提升了目标设备的设备指纹的唯一性。
并且,由于不同设备特征组合中含有的设备特征不完全相同,目标设备的设备指纹中含有的各个域段的指纹信息分别对应不同的信息维度,并且不同的信息维度相互独立,进一步提升了目标设备的设备指纹之间的可区分性,因此本实施例得到的目标设备的设备指纹具备很高的唯一性,能够满足互联网信息交互过程中对于信息安全性的要求。
图6是根据另一示例性实施例示出的一种设备指纹的生成方法的流程图。在图6所示的实施例中,目标设备对应的各个设备特征组合具体是从预先构建的特征组合列表中查询得到的,生成目标设备的设备指纹的其它步骤请参见前述实施例中描述的内容,本处不进行赘述。
如图6所示,在一示例性实施例中,步骤310中针对目标设备的设备特征进行防重处理,获得目标设备对应的多个设备特征组合的过程,可以包括如下步骤:
步骤311,根据目标设备的设备特征从特征组合列表中查询目标特征组合,特征组合列表中含有针对存量设备的设备特征进行排列组合所得到的特征组合,目标特征组合中含有的全部特征均为目标设备的设备特征;
步骤313,将目标特征组合作为目标设备对应的设备特征组合。
如前所述,目标设备的设备特征可以是目标设备中运行的设备特征收集SDK所自动收集得到的,也可以是从目标设备本地存储的列表文件中读取得到的,或者还可以通过其它的一些方式获取目标设备的设备特征,本处不对此进行限制。
特征组合列表中含有大量存量设备对应的设备特征组合,并且这些设备特征组合是对存量设备的设备特征进行排列组合得到若干设备特征组合之后,从这些设备特征组合中筛选得到的重复度小于重复度阈值的设备特征组合,因此特征组合列表中含有的各个设备特征组合的重复程序都很低。基于此,本实施例从特征组合列表中查询得到目标设备含有的各个设备特征组合的重复程度也很低。
根据目标设备的设备特征从特征组合列表中查询的目标特征组合是指,该目标特征组合中含有的全部特征均为目标设备的设备特征,并且该目标特征组合中含有的目标设备的设备特征的数量是任意的。示例性的,假设目标设备含有设备特征1、设备特征2、设备特征3和设备特征4,如果在特征组合列表中查询到设备特征组合a中含有的所有设备特征为设备特征1和设备特征3,设备特征组合b中含有的所有设备特征为设备特征1、设备特征3和设备特征4,因此将设备特征组合a和设备特征组合b均作为查询得到的目标特征组合。
由于目标特征组合中含有的全部特征均为目标设备的设备特征,因此将目标特征组合作为目标设备对应的设备特征组合,相当于是对目标设备的设备特征进行排列组合之后,筛选得到的重复度小于重复度阈值的设备特征组合,从而保证了基于这些设备特征组合所生成的目标设备的设备指纹具有较高的唯一性。
需要说明的是,本实施例中根据目标设备的设备特征可以从特征组合列表中查询得到一个或者多个目标特征组合,本实施例不对此进行限制。
并且在其它的示例性实施例中,由于特征值黑名单库中含有预先收集的区分性较低的若干设备特征,若根据这些设备特征生成设备指纹,会降低设备指纹的唯一性,因此在步骤311之后,还可以根据特征值黑名单库滤除一些无效的目标设备的设备特征,以使得步骤313根据过滤得到的剩余设备特征从特征组合列表中查询目标特征组合作为目标设备对应的设备特征组合。由于本实施例预先滤除了区分性较低的设备特征,进一步提升了目标设备对应的设备特征组合的可区分性,进而提升了后续生成目标设备的设备指纹的唯一性。
图7是根据另一示例性实施例示出的一种设备指纹的生成方法的流程图。在图7所示的实施例中,具体通过等值匹配的相似度衡量方式来计算目标设备与存量设备之间的相似度。
如图7所示,在一示例性实施例中,步骤350中根据目标设备的设备特征和查询得到的各个存量设备的设备特征,在目标设备与各个存量设备之间进行设备相似度的识别处理的过程,可以包括如下步骤:
步骤351,将目标设备的设备特征与存量设备的设备特征进行对比,如果目标设备和存量设备在同一特征类型下的设备特征相同,则确定对比结果为第一值,否则确定对比结果为第二值。
在本实施例中,可以将不同的设备特征区分为不同的特征类型,例如设备特征可以包括IMEI特征类型、CPU ID特征类型、IMSI特征类型等,如果目标设备与存量设备在同一特征类型下的设备特征相同,则将目标设备与存量设备的相似度确认为第一值,反之则将相似度确认为第二值。示例性的,第一值可以为1,第二值相应为0,本处不具体进行限制。
步骤353,根据多个特征类型对应的对比结果之和确定目标设备与存量设备之间的相似度。
本实施例通过将目标设备的设备特征与存量设备的设备特征进行对比,可以得到不同特征类型分别对应的对比结果,并且每个对比结果分别从不同的设备特征维度上反映目标设备与存量设备之间的相似情况,因此需要根据各个特征类型对应的对比结果之和来综合确定目标设备与存量设备之间的相似度,以保证该相似度的准确性。
在一些实施例中,可以直接将各个特征类型对应的对比结果之和作为目标设备与存量设备之间的相似度。如果将目标设备表示为
Figure 391865DEST_PATH_IMAGE001
,将存量设备表示为
Figure 985001DEST_PATH_IMAGE002
,将目标设备与存量设备之间的相似度表示为Similarity(
Figure 977228DEST_PATH_IMAGE003
),目标设备与存量设备的设备特征一共含有n种特征类型,并且将任一特征类型表示为i,将任一特征类型对应的对比结果表示为FeatureSimilarity(
Figure 548DEST_PATH_IMAGE003
)[i],目标设备与存量设备之间的相似度的计算公式则表示如下:
Figure 711015DEST_PATH_IMAGE004
=
Figure 579614DEST_PATH_IMAGE005
由此可以看出,基于目标设备和存量设备在多个特征类型下的设备指纹,可以先进行目标设备和存量设备在各个特征类型下的相似度识别,然后基于目标设备和存量设备在各个特征类型下的相似度之和,即可准确得到目标设备和存量设备之间的相似度。
在另外的实施例中,如图8所示,还可以根据如下步骤确定目标设备与存量设备之间的相似度:
步骤3531,获取针对各个特征类型的设备特征所预设的相似度权重;
步骤3533,根据各个特征类型对应的相似度权重,计算多个特征类型对应的对比结果的相似度权重和;
步骤3535,将相似度权重和与多个特征类型对应的相似度权重之和的商作为目标设备与存量设备之间的相似度。
针对各个特征类型的设备特征所预设的相似度权重可以是根据各个特征类型的设备特征的重复程度所预设的,重复程度越高,预设的相似度权重也越高。例如,在预先构建特征值黑名单库的过程中,可以根据统计得到的存量设备的设备特征在设备特征样本集合中的重复次数为每个设备特征设置相似度权重,由此即可相应获取针对各个特征类型的设备特征所预设的相似度权重。
本实施例计算相似度权重与存量设备之间的相似度的公式表示如下:
Figure 691926DEST_PATH_IMAGE006
其中,“
Figure 620568DEST_PATH_IMAGE007
”表示针对任一特征类型的设备特征所预设的相似度权重,“
Figure 818331DEST_PATH_IMAGE008
”表示多个特征类型对应的相似度权重之和,“
Figure 490621DEST_PATH_IMAGE009
”表示在计算每个特征类型的设备特征的相似度与相应的相似度权重的乘积后,再计算所有乘积之和,以得到多个特征类型对应的对比结果的相似度权重和。
区别于前述实施例,本实施例基于目标设备和存量设备在多个特征类型下的设备指纹,在进行目标设备和存量设备在各个特征类型下的相似度识别之后,还需要计算各个特征类型对应的相似度识别结果之间的权重和,再基于相似度识别结果的权重和与各个特征类型的相似度权重之和之间的商,来得到目标设备和存量设备之间的相似度。
由此,本实施例通过设置设备特征的相似度权重,以基于设备特征的重复程度来优化目标设备与存量设备之间的相似度,使得实施例得到的目标设备与存量设备之间的相似度更加准确,并使得后续选取相似度大于相似度阈值的存量设备的设备指纹作为目标设备的设备指纹也更加准确。
图9是根据另一示例性实施例示出的一种设备指纹的生成方法的流程图。如图9所示,在一示例性实施例中,在得到目标设备与各个存量设备之间的相似度之后,如果判断不存在相似度大于相似度阈值的存量设备,则需要通过如下步骤来生成设备指纹:
步骤410,分别对多个设备特征组合中的各个设备特征组合进行的哈希处理,获得各个设备特征组合对应的哈希值。
在本实施例中,当不存在相似度大于相似度阈值的存量设备时,表示目标设备相对存量设备指纹库中含有的所有存量设备来说为新设备,因此需要将目标设备作为目标存量设备,将该目标存量设备的信息(包括设备特征和设备指纹)添加至存量设备指纹库中,进而更新该存量设备指纹库。在下一次针对目标设备生成设备指纹时,则可以直接从存量设备指纹库中查询得到目标设备的设备指纹。
由于目标存量设备对应的各个设备特征组合以及目标存量设备的设备特征均为已知的信息,因此还需要计算目标存量设备的设备指纹,才能够对存量设备指纹库进行更新。
在一些实施例中,为了计算目标存量设备的各个设备特征组合对应的哈希值,需要分别计算各个设备特征组合中含有的各个设备特征的哈希值,然后将计算得到的各个哈希值进行拼接,以相应得到各个设备特征组合对应的哈希值。也即,目标设备的设备特征组合对应的哈希值是根据该设备特征组合中含有的各个设备特征的哈希值拼接得到的。
而在其它的一些实施例中,还可以先拼接设备特征组合中含有的各个设备特征的特征值,然后对拼接得到的特征值进行哈希运算,以得到该设备特征组合对应的哈希值。该哈希值中则含有在相应设备特征组合对应的信息维度上的信息,并且不同设备特征组合对应的哈希值互不相同。
还需要说明的是,针对设备特征组合的哈希值的计算方式,可以与存量设备指纹库的构建过程中计算存量设备的设备特征组合对应的哈希值的计算方式保持一致,以保证所有设备指纹的生成方式是统一的,在一些特定应用场景下,可以根据设备指纹还原相应设备的设备特征。
步骤430,拼接各个设备特征组合对应的哈希值,得到各个设备特征组合所关联的设备指纹。
与存量设备指纹库的构建过程相同,本实施例针对各个设备特征组合对应的哈希值的具体拼接方式可以是任意的。例如,仍假设目标存量设备含有设备特征组合a以及设备特征组合b,针对设备特征组合a计算得到的哈希值为哈希值a,针对设备特征组合b计算得到的哈希值为哈希值b,最终得到的目标存量设备的设备指纹则可以是“哈希值a哈希值b”或者“哈希值b哈希值a”,但无论采用哪种拼接方式,所拼接得到的设备指纹中仍含有多域段指纹信息,并且各域段指纹信息分别对应不同的、且相互独立的信息维度,因此具有很高的唯一性。
由于目标存量设备的设备指纹是基于目标存量设备对应的各个设备特征组合计算得到的,因此目标存量设备对应的各个设备特征组合与该设备指纹是相关联的。
步骤450,在存量设备指纹库中建立各个设备特征组合所关联的设备指纹与各个设备特征组合之间的索引关系。
基于目标存量设备对应的各个设备特征组合与相应设备指纹的关联性,即可以构建各个设备特征组合与目标存量设备的信息(包括设备特征和设备指纹)之间的索引关系,并将此索引关系添加至存量设备指纹库中,由此实现存量设备指纹库的更新。
当无法根据存量设备指纹库生成目标设备的设备指纹时,基于本实施例提供的方法,则可以对存量设备指纹库进行更新,使得更新后的存量设备指纹库中含有目标存量设备的设备指纹,然后在根据步骤300至步骤370重新获取目标设备的设备指纹的过程中,即能够从更新后的存量设备指纹库中查询到目标存量设备的设备指纹。并且由于目标存量设备实质上为该目标设备,计算得到的该目标设备与目标存量设备之间的相似度必定大于相似度阈值,因此能够得到目标设备的设备指纹。
在一些应用场景中,例如目标设备或者目标设备中运行的客户端进行了技术迭代,例如目标设备中更新了操作系统、目标设备中的客户端进行了业务升级等,导致目标设备的设备特征会相应更新,设备特征的更新则会导致目标设备对应的设备特征组合更新,使得无法在存量设备指纹库中查询到与目标设备相近似的存量设备,因此无法更新目标设备的设备指纹。
而基于本实施例提供的方法则可以解决此技术问题,并且更新后的设备指纹中还含有与技术迭代相关的信息,因此能够随着技术迭代扩充设备指纹的新域段,从而能够确保更新后的设备指纹仍具有较高的唯一性,进而保证互联网信息交互过程中的安全性。
为便于理解以上实施例的实施过程,下面以一个具体的应用场景对设备指纹的生成过程进行描述。
图10是一示例性的应用场景中生成设备指纹的流程图,如图10所示,该应用场景所示意的设备指纹生成流程可以由图1所示实施环境中的本地化服务端130具体执行。
如图10所示,在输入目标设备的设备特征指纹后,通过特征值黑名单库过滤黑名单特征(即过滤无效的设备特征),针对剩余的设备特征,通过查询特征组合列表,得到目标设备对应的多个设备特征组合,然后基于目标设备的多个设备特征组合在存量设备指纹库中查询多个设备特征组合关联的存量设备的信息,并计算目标设备与查询到的存量设备之间的相似度,相似度用于表征目标设备与存量设备为同一设备的可能性,如果相似度大于相似度阈值,例如相似度阈值为0.85,则直接将存量设备的设备指纹输出作为目标设备的设备指纹,否则拼接目标设备的各个设备特征组合的哈希值,将哈希值拼接结果作为新的设备指纹,并在存量设备指纹库中构建目标设备的各个设备特征组合、目标设备的设备特征以及新的设备指纹之间的索引关系,以更新存量设备指纹库。在下一次获取目标设备的设备指纹时,则可以从更新后的存量设备指纹库中查询到相应设备指纹。
并且,在另外的示例性实施例中,目标设备所隶属的业务系统可以是闭环式系统,该闭环式系统是指不同的业务系统之间是相互独立的。
举例来说,不同的业务系统分别隶属于不同的业务方,并且不同业务方为用户提供的业务服务相互独立,隶属于不同业务系统下的设备中运行的客户端所实现的业务功能也各不相同,为保证各个业务系统的安全性,需要将各个业务系统部署为闭环式系统。
第三方系统是区别于各个业务系统的其它业务系统,并且为保证第三方系统安全性,第三方系统也为闭环式系统。在一些特定的应用场景中,需要第三方系统为业务系统提供网络服务,因此需要打通业务系统与第三方系统之间的SAAS(Software-as-a-Service,是指通过网络提供软件服务)。但由于业务系统与第三方系统相互独立,为保证第三方系统为业务系统提供网络服务的安全性,第三方系统需要验证业务系统请求服务时携带的设备指纹是否为第三方系统自身的设备指纹,如果为是,则表示业务系统是可靠的,第三方系统向业务系统的网络服务也是安全的。
由此,打通业务系统与第三方系统之间的SAAS的关键点在于业务系统如何获得第三方系统自身的设备指纹。需要说明的是,第三方系统自身的设备指纹是指第三方系统中含有的第三方设备(是指第三方系统中含有的设备)的设备指纹,当第三方系统中含有多个第三方设备时,各个第三方设备的设备指纹均可以作为第三方系统自身的设备指纹。
在实际应用中,业务系统与第三方系统之间的SAAS过程通常是:业务系统中的业务服务器响应业务系统中的第一设备的请求,以向第三方系统发起服务获取请求;第三方系统响应该服务获取请求,提取与第三方系统中的第二设备相关的数据信息返回至业务系统。并且,该第一设备和第二设备通常为同一设备。
例如在图11所示的示例性的业务系统交互示意图中,云服务端140作为区别于客户端110、业务服务端120、以及本地化服务端130所构成的业务系统的第三方系统,需要为该业务系统提供设备画像云存储的服务。客户端110将自身的设备画像数据上传至云服务端140中存储,以减小自身设备以及业务服务端120中的存储空间消耗,从而提升自身设备和业务服务端120的性能。当客户端110请求获取云服务端140中存储的设备画像时,通过业务服务端120向云服务端发起设备画像获取请求,并且同时携带云服务端140针对客户端110所在设备生成的设备指纹作为安全性验证信息。其中,云服务端140具体可以为一分布式云存储系统(是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统)。
为便于理解,以下将结合图11作为示例对业务系统获取第三方系统中的第三方设备的设备指纹的过程进行详细描述。
首先需要设置第三方系统和业务系统均按照上述实施例提供的方法为各自系统中的各个设备生成设备指纹,并且第三方系统和业务系统生成设备指纹时采用的哈希运算方式保持一致,例如均采用Murmurhash3方式计算设备特征组合的哈希值,以保证第三方系统和业务系统中生成设备指纹的方式是同步的。并且由于不同系统中含有的设备不同,各个系统中构建的存量设备指纹库、特征组合列表以及特征值黑名单库也不同,使得各个系统针对同一设备生成的设备指纹是不同的,由此保证不同系统之间的独立性。
但由于第三方系统和业务系统中生成设备指纹的方式同步,业务系统可以根据自身设备对应的各个设备特征组合在第三方系统中查询与各个设备特征组合关联的设备指纹,该查询到的设备指纹即为第三方系统为该设备生成的设备指纹。根据该查询到的设备指纹,业务系统则可以从第三方系统中获取网络服务。
如图11所示,客户端110中运行的设备特征收集SDK所收集的设备特征分别发送至本地化服务端130和云服务端140中,本地化服务端130基于这些设备特征生成第一设备指纹,云服务端140基于这些设备特征生成第二设备指纹,由于本地化服务端130以及云服务端140各自构建的存量设备指纹库、特征组合列表以及特征值黑名单库不同,导致设备指纹生成过程中所使用的具体参数不同,因此第一设备指纹与第二设备指纹也不同。但由于第二设备指纹仍是基于由设备特征收集SDK收集的设备特征构成的多个设备特征组合生成的,因此业务服务端120可以根据客户端110所在设备对应的各个设备特征组合在云服务端140中查询到第二设备指纹。根据查询到的第二设备指纹,则可以从云服务端140中获取客户端110所需的设备画像数据。
而在其它的实施例中,如果客户端110还需要获取云服务端140中除客户端110所在设备以外的其它设备(以下称为第三方设备)的设备画像,则需要获取云服务端140为第三方设备生成的设备指纹。
为解决此问题,本实施例在客户端110中引入第三方设备特征收集SDK,以获取第三方设备的设备特征,并且还将第三方设备的设备特征发送至本地化服务端130,以使本地化服务端130根据第三方设备的设备特征生成第三方设备的设备指纹,然后将本地化服务端130根据客户端110自身的设备特征生成的设备指纹与第三方设备的设备指纹进行拼接,并将拼接得到的设备指纹作为客户端110所在设备调整后的设备指纹。业务服务端120从本地化服务端130中查询到客户端110对应的设备指纹之后,提取设备指纹中的相应域段信息,以得到第三方设备的设备指纹,根据第三方设备的设备指纹即可从云服务端140中获取第三方设备的设备画像数据。由此,本地化服务端130所生成的设备指纹还将第三方设备的设备指纹作为一个扩充的信息域段,以支持业务系统与第三方系统之间的交互。
并且在另一应用场景中,由于业务系统以及第三方系统中分别含有存量设备指纹库,并且存量设备指纹库是采用相同算法构建的,如果业务系统丢失了存量设备指纹库,则可以借助于第三方系统中的存量设备指纹库,并基于存量设备指纹库的构建算法还原业务系统的设备指纹,以得到设备指纹对应的原始信息,例如设备特征、设备特征组合等。
综合以上各个实施例中描述的内容可知,本申请的实施例提供的设备指纹的生成方法至少具有以下优点:
第一、本申请生成的设备指纹可划分为多域段的指纹信息,每一域段代表一个信息维度,即设备特征组合对应的信息维度,不同域段的指纹信息相互独立,并且不同设备的设备指纹所含有的域段数量不同,具有很高的唯一性,能够满足互联网信息交互对于安全性的要求;
第二、本申请生成的设备指纹的域段可以随着设备中的技术迭代扩充新域段,因此设备指纹是多域段且可伸缩的,具有更高的扩展性和兼容性,突破了传统设备指纹为定长制度串的容量限制,能够适配技术迭代、设备平台的升级等;
第三、基于本申请生成的设备指纹,使得闭环式的业务系统能够支持三方扩展,实现了业务系统与第三方系统之间的私有化和SAAS的互通共享,便于业务系统与第三方系统之间进行信息融合与共享,可以实现多方独立系统共建多领域的设备画像、设备风控库等场景;
第四、本申请提出的设备指纹生成方案能够支持从设备指纹含有的多域段指纹信息中召回原始设备信息,也即,根据设备指纹生成算法可以对设备指纹中的各个域段的指纹信息进行还原,以得到相应的设备特征组、设备特征等原始设备信息。
图12是根据一示例性实施例示出的一种设备指纹的生成装置的框图。该装置可以适用于图1所示的实施环境中,具体可以配置在图所示的本地化服务端130中。该装置也可以配置与图10所示的本地化服务端130以及云服务端140中。
如图12所示,在一示例性实施例中,该装置包括设备特征获取模块500、设备特征组合模块510、存量信息获取模块530、相似度计算模块550和设备指纹获取模块570。
设备特征获取模块500用于获取目标设备的设备特征。设备特征组合模块510用于针对目标设备的设备特征进行防重处理,获得目标设备对应的多个设备特征组合。存量信息获取模块530用于从存量设备指纹库中查询与各个设备特征组合相关联的存量设备的信息,存量设备指纹库中包含有设备特征组合与存量设备的信息之间的索引关系。相似度计算模块550用于根据目标设备的设备特征和查询得到的各个存量设备的设备特征,在目标设备与各个存量设备之间进行设备相似度的识别处理,获得目标设备与各个存量设备之间的相似度。设备指纹获取模块570用于将相似度大于相似度阈值的存量设备的设备指纹作为目标设备的设备指纹。
在另一示例性实施例中,设备特征组合模块510包括目标特征组合查询单元和设备特征组合获取单元。
目标特征组合查询单元用于根据目标设备的设备特征从特征组合列表中查询目标特征组合,特征组合列表中含有针对存量设备的设备特征进行排列组合所得到的特征组合,目标特征组合中含有的全部特征均为目标设备的设备特征。设备特征组合获取单元用于将目标特征组合作为目标设备对应的设备特征组合。
在另一示例性实施例中,该装置还包括特征值过滤模块,用于根据特征值黑名单库对目标设备的设备特征进行过滤,以使目标特征组合查询单元根据过滤得到的剩余设备特征从特征组合列表中查询目标特征组合。
在另一示例性实施例中,相似度计算模块550包括特征对比单元和相似度确定单元。
特征对比单元用于将目标设备的设备特征与存量设备的设备特征进行对比,如果目标设备和存量设备在同一特征类型下的设备特征相同,则确定对比结果为第一值,否则确定对比结果为第二值。相似度确定单元用于根据多个特征类型对应的对比结果之和确定目标设备与存量设备之间的相似度。
在另一示例性实施例中,相似度确定单元包括权重获取子单元、权重和计算子单元和权重商计算子单元。
权重获取子单元用于获取针对各个特征类型的设备特征所预设的相似度权重。权重和计算子单元用于根据各个特征类型对应的相似度权重,计算多个特征类型对应的对比结果的相似度权重和。权重商计算子单元用于将相似度权重和与多个特征类型对应的相似度权重之和的商作为目标设备与存量设备之间的相似度。
在另一示例性实施例中,该装置还包括哈希运算模块、哈希拼接模块和索引构建模块。
哈希运算模块用于在不存在相似度大于相似度阈值的存量设备的情况下,分别对多个设备特征组合中的各个设备特征组合进行哈希处理,获得各个设备特征组合对应的哈希值。哈希拼接模块用于拼接各个设备特征组合对应的哈希值,得到各个设备特征组合所关联的设备指纹。索引构建模块用于在存量设备指纹库中建立各个设备特征组合所关联的设备指纹与各个设备特征组合之间的索引关系。
在另一示例性实施例中,该装置还包括第三方设备特征获取模块、第三方指纹获取模块和设备指纹调整模块。
第三方设备特征获取模块用于获取第三方设备的设备特征。第三方指纹获取模块用于根据第三方设备的设备特征,生成第三方设备的设备指纹。设备指纹调整模块用于拼接第三方设备的设备指纹与目标设备的设备指纹,并将拼接得到的设备指纹作为目标设备调整后的设备指纹。
在另一示例性实施例中,该装置还包括存量设备指纹库构建模块,该存量设备指纹库构建模块用于获取若干存量设备分别对应的设备特征,然后分别对各个存量设备对应的设备特征进行排列组合,获得各个存量设备对应的设备特征组合,最后根据各个存量设备对应的设备特征组合计算各个存量设备的设备指纹,并构建存量设备指纹库。
在另一示例性实施例中,存量设备指纹库构建模块包括设备指纹计算单元,该设备指纹计算单元用于确定存量设备含有的设备特征组合在全部存量设备的设备特征组合中重复出现的重复程度,并根据重复程度小于重复度阈值的设备特征组合,计算各个存量设备的设备指纹。
在另一示例性实施例中,该装置还包括特征组合列表构建模块,该特征组合列表构建模块用于将重复程度小于重复度阈值的设备特征组合添加至特征组合列表中,以使特征组合列表中含有设备特征组合包含的各个设备特征。
在另一示例性实施例中,存量设备指纹库构建模块还包括真实设备筛选单元,该真实设备筛选单元用于获取预先针对若干设备收集的设备特征样本集合,并从设备特征样本集合中筛选得到真实设备的设备特征,以将真实设备的设备特征作为存量设备的设备特征。
在另一示例性实施例中,该装置还包括特征值黑名单库构建模块,用于确定存量设备的各个设备特征分别在设备特征样本集合中重复出现的次数,并将重复出现的次数大于次数阈值的设备特征的集合作为特征值黑名单库。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
本申请的实施例还提供了一种设备指纹的生成设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前所述的设备指纹的生成方法。
本申请的实施例还提供了一种设备指纹的生成设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前所述的设备指纹的生成方法。
图13是根据一示例性实施例示出的一种设备指纹的生成设备的结构示意图。
需要说明的是,该设备指纹的生成设备只是一个适配于本申请的示例,不能认为是提供了对本申请的使用范围的任何限制。该设备指纹的生成设备也不能解释为需要依赖于或者必须具有图13中示出的示例性的设备指纹的生成设备中的一个或者多个组件。
该设备的硬件结构可因配置或者性能的不同而产生较大的差异,如图13所示,该设备包括:电源610、接口630、至少一存储器650、以及至少一中央处理器(CPU ,CentralProcessing Units)670。
其中,电源610用于为该设备上的各硬件设备提供工作电压。
接口630包括至少一有线或无线网络接口631、至少一串并转换接口633、至少一输入输出接口635以及至少一USB接口637等,用于与外部设备通信。
存储器650作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统651、应用程序653或者数据655等,存储方式可以是短暂存储或者永久存储。其中,操作系统651用于管理与控制该设备上的各硬件设备以及应用程序653,以实现中央处理器670对海量数据655的计算与处理,其可以是WindowsServerTM、Mac OS XTM、UnixTM、LinuxTM等。应用程序653是基于操作系统651之上完成至少一项特定工作的计算机程序,其可以包括至少一模块,每个模块都可以分别包含有对该设备的一系列计算机可读指令。
中央处理器670可以包括一个或多个以上的处理器,并设置为通过总线与存储器650通信,用于运算与处理存储器650中的海量数据655。
如上面所详细描述的,适用本申请的样本获取设备将通过中央处理器670读取存储器650中存储的一系列计算机可读指令的形式来完成如前所述的设备指纹的生成方法。
此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本申请,因此,实现本申请并不限于任何特定硬件电路、软件以及两者的组合。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的设备指纹的生成方法。该计算机可读存储介质可以是上述实施例中描述的设备指纹的生成设备中所包含的,也可以是单独存在,而未装配入该设备指纹的生成设备中。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。

Claims (15)

1.一种设备指纹的生成方法,其特征在于,包括:
获取所述目标设备的设备特征;
针对所述目标设备的设备特征进行防重处理,获得所述目标设备对应的多个设备特征组合;
从存量设备指纹库中查询与各个所述设备特征组合相关联的存量设备的信息,所述存量设备指纹库中包含有所述设备特征组合与所述存量设备的信息之间的索引关系;
根据所述目标设备的设备特征和查询得到的各个存量设备的设备特征,在所述目标设备与所述各个存量设备之间进行设备相似度的识别处理,获得所述目标设备与所述各个存量设备之间的相似度;
将相似度大于相似度阈值的存量设备的设备指纹作为所述目标设备的设备指纹。
2.根据权利要求1所述的方法,其特征在于,针对所述目标设备对应的设备特征进行防重处理,获得所述目标设备对应的多个设备特征组合,包括:
根据所述目标设备的设备特征从特征组合列表中查询目标特征组合,所述特征组合列表中含有针对所述存量设备的设备特征进行排列组合所得到的特征组合,所述目标特征组合中含有的全部特征均为所述目标设备的设备特征;
将所述目标特征组合作为所述目标设备对应的设备特征组合。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据特征值黑名单库对所述目标设备的设备特征进行过滤,以根据过滤得到的剩余设备特征从所述特征组合列表中查询所述目标特征组合。
4.根据权利要求1所述的方法,其特征在于,根据所述目标设备的设备特征和查询得到的各个存量设备的设备特征,在所述目标设备与所述各个存量设备之间进行设备相似度的识别处理,包括:
将所述目标设备的设备特征与所述存量设备的设备特征进行对比,如果所述目标设备和所述存量设备在同一特征类型下的设备特征相同,则确定对比结果为第一值,否则确定对比结果为第二值;
根据多个特征类型对应的对比结果之和确定所述目标设备与所述存量设备之间的相似度。
5.根据权利要求4所述的方法,其特征在于,根据多个特征类型对应的对比结果之和确定所述目标设备与所述存量设备之间的相似度,包括:
获取针对各个特征类型的设备特征所预设的相似度权重;
根据所述各个特征类型对应的相似度权重,计算所述多个特征类型对应的对比结果的相似度权重和;
将所述相似度权重和与所述多个特征类型对应的相似度权重之和的商作为所述目标设备与所述存量设备之间的相似度。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果不存在相似度大于相似度阈值的存量设备,则分别对所述多个设备特征组合中的各个设备特征组合进行哈希处理,获得所述各个设备特征组合对应的哈希值;
拼接所述各个设备特征组合对应的哈希值,得到所述各个设备特征组合所关联的设备指纹;
在所述存量设备指纹库中建立所述各个设备特征组合所关联的设备指纹与所述各个设备特征组合之间的索引关系。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第三方设备的设备特征;
根据所述第三方设备的设备特征,生成所述第三方设备的设备指纹;
拼接所述第三方设备的设备指纹与所述目标设备的设备指纹,并将拼接得到的设备指纹作为所述目标设备调整后的设备指纹。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取若干存量设备分别对应的设备特征;
分别对各个存量设备对应的设备特征进行排列组合,获得所述各个存量设备对应的设备特征组合;
根据所述各个存量设备对应的设备特征组合计算所述各个存量设备的设备指纹,并构建所述存量设备指纹库。
9.根据权利要求8所述的方法,其特征在于,根据所述设备特征组合计算各个所述存量设备的设备指纹,所述方法还包括:
确定所述存量设备含有的设备特征组合在全部存量设备的设备特征组合中重复出现的重复程度;
根据重复程度小于重复度阈值的设备特征组合,计算各个所述存量设备的设备指纹。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
将所述重复程度小于重复度阈值的设备特征组合添加至特征组合列表中,以使所述特征组合列表中含有所述设备特征组合包含的各个设备特征。
11.根据权利要求8所述的方法,其特征在于,在获取若干存量设备的设备特征之前,所述方法还包括:
获取预先针对若干设备收集的设备特征样本集合;
从所述设备特征样本集合中筛选得到真实设备的设备特征,以将所述真实设备的设备特征作为所述存量设备的设备特征。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
确定所述存量设备的各个设备特征分别在所述设备特征样本集合中重复出现的次数;
将重复出现的次数大于次数阈值的设备特征的集合作为特征值黑名单库。
13.一种设备指纹的生成装置,其特征在于,包括:
设备特征获取模块,用于获取所述目标设备的设备特征;
设备特征组合模块,用于针对所述目标设备的设备特征进行防重处理,获得所述目标设备对应的多个设备特征组合;
存量信息获取模块,用于从存量设备指纹库中查询与各个所述设备特征组合相关联的存量设备的信息,所述存量设备指纹库中包含有所述设备特征组合与所述存量设备的信息之间的索引关系;
相似度计算模块,用于根据所述目标设备的设备特征和查询得到的各个存量设备的设备特征,在所述目标设备与所述各个存量设备之间进行设备相似度的识别处理,获得所述目标设备与所述各个存量设备之间的相似度;
设备指纹获取模块,用于将相似度大于相似度阈值的存量设备的设备指纹作为所述目标设备的设备指纹。
14.一种设备指纹的生成设备,其特征在于,包括:
存储器,存储有计算机可读指令;
处理器,读取存储器存储的计算机可读指令,以执行权利要求1-12中的任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-12中的任一项所述的方法。
CN202010570908.1A 2020-06-22 2020-06-22 设备指纹的生成方法、装置、设备及存储介质 Active CN111478986B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010570908.1A CN111478986B (zh) 2020-06-22 2020-06-22 设备指纹的生成方法、装置、设备及存储介质
PCT/CN2021/093473 WO2021258898A1 (zh) 2020-06-22 2021-05-13 设备指纹的生成方法、装置、设备及存储介质
US17/846,360 US20220329591A1 (en) 2020-06-22 2022-06-22 Method, apparatus and device for generating device fingerprint and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010570908.1A CN111478986B (zh) 2020-06-22 2020-06-22 设备指纹的生成方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111478986A true CN111478986A (zh) 2020-07-31
CN111478986B CN111478986B (zh) 2020-09-25

Family

ID=71763942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010570908.1A Active CN111478986B (zh) 2020-06-22 2020-06-22 设备指纹的生成方法、装置、设备及存储介质

Country Status (3)

Country Link
US (1) US20220329591A1 (zh)
CN (1) CN111478986B (zh)
WO (1) WO2021258898A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367369A (zh) * 2020-10-27 2021-02-12 西安宇视信息科技有限公司 云计算环境的软件安全控制方法、装置、介质及电子设备
CN112685799A (zh) * 2020-12-29 2021-04-20 五八有限公司 设备指纹生成方法、装置、电子设备和计算机可读介质
WO2021258898A1 (zh) * 2020-06-22 2021-12-30 腾讯科技(深圳)有限公司 设备指纹的生成方法、装置、设备及存储介质
CN114282273A (zh) * 2021-12-29 2022-04-05 迅鳐成都科技有限公司 基于区块链的用户身份数据校验方法、装置、系统以及存储介质
CN114338600A (zh) * 2021-12-28 2022-04-12 深信服科技股份有限公司 一种设备指纹的推选方法、装置、电子设备和介质
CN115527244A (zh) * 2022-11-28 2022-12-27 深圳市航顺芯片技术研发有限公司 一种指纹图像匹配方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166917A (zh) * 2011-12-12 2013-06-19 阿里巴巴集团控股有限公司 网络设备身份识别方法及系统
CN103164698A (zh) * 2013-03-29 2013-06-19 华为技术有限公司 指纹库生成方法及装置、待测文本指纹匹配方法及装置
CN107423613A (zh) * 2017-06-29 2017-12-01 江苏通付盾信息安全技术有限公司 依据相似度确定设备指纹的方法、装置及服务器
CN107516038A (zh) * 2017-08-08 2017-12-26 北京梆梆安全科技有限公司 一种确定设备指纹的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8733732B2 (en) * 2010-05-24 2014-05-27 Eaton Corporation Pressurized o-ring pole piece seal for a manifold
US9165124B1 (en) * 2012-02-01 2015-10-20 Convertro, Inc. Systems and methods for identifying a returning web client
CN111478986B (zh) * 2020-06-22 2020-09-25 腾讯科技(深圳)有限公司 设备指纹的生成方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166917A (zh) * 2011-12-12 2013-06-19 阿里巴巴集团控股有限公司 网络设备身份识别方法及系统
CN103164698A (zh) * 2013-03-29 2013-06-19 华为技术有限公司 指纹库生成方法及装置、待测文本指纹匹配方法及装置
CN107423613A (zh) * 2017-06-29 2017-12-01 江苏通付盾信息安全技术有限公司 依据相似度确定设备指纹的方法、装置及服务器
CN107516038A (zh) * 2017-08-08 2017-12-26 北京梆梆安全科技有限公司 一种确定设备指纹的方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021258898A1 (zh) * 2020-06-22 2021-12-30 腾讯科技(深圳)有限公司 设备指纹的生成方法、装置、设备及存储介质
CN112367369A (zh) * 2020-10-27 2021-02-12 西安宇视信息科技有限公司 云计算环境的软件安全控制方法、装置、介质及电子设备
CN112685799A (zh) * 2020-12-29 2021-04-20 五八有限公司 设备指纹生成方法、装置、电子设备和计算机可读介质
CN112685799B (zh) * 2020-12-29 2022-11-29 五八有限公司 设备指纹生成方法、装置、电子设备和计算机可读介质
CN114338600A (zh) * 2021-12-28 2022-04-12 深信服科技股份有限公司 一种设备指纹的推选方法、装置、电子设备和介质
CN114338600B (zh) * 2021-12-28 2023-09-05 深信服科技股份有限公司 一种设备指纹的推选方法、装置、电子设备和介质
CN114282273A (zh) * 2021-12-29 2022-04-05 迅鳐成都科技有限公司 基于区块链的用户身份数据校验方法、装置、系统以及存储介质
CN115527244A (zh) * 2022-11-28 2022-12-27 深圳市航顺芯片技术研发有限公司 一种指纹图像匹配方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
US20220329591A1 (en) 2022-10-13
WO2021258898A1 (zh) 2021-12-30
CN111478986B (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN111478986B (zh) 设备指纹的生成方法、装置、设备及存储介质
CN107396360B (zh) 区块验证方法及装置
US10073916B2 (en) Method and system for facilitating terminal identifiers
US8782748B2 (en) Online service access controls using scale out directory features
CN107169094B (zh) 信息聚合方法及装置
CN106470184B (zh) 安全认证方法、装置及系统
CN108769230B (zh) 交易数据存储方法、装置、服务器及存储介质
US20230037932A1 (en) Data processing method and apparatus based on blockchain network, and computer device
CN110417863A (zh) 生成身份识别码的方法和装置、身份认证的方法和装置
CN110597541B (zh) 基于区块链的接口更新处理方法、装置、设备及存储介质
CN111090386A (zh) 一种云存储方法、装置、系统和计算机设备
CN111353136B (zh) 一种操作请求的处理方法和装置
CN111427613B (zh) 一种应用程序接口api管理方法和装置
KR20190095067A (ko) 블록체인 기반의 머클트리를 이용한 정보 관리 방법, 이를 이용한 서버 및 단말
CN113162971B (zh) 区块链节点管理方法、装置、计算机以及可读存储介质
CN111866993B (zh) 无线局域网连接管理方法、装置、软件程序及存储介质
CN113129002A (zh) 一种数据处理方法以及设备
CN112417052B (zh) 区块链网络中的数据同步方法、装置、设备及存储介质
CN112422570B (zh) 游戏登录方法及装置
CN111324799B (zh) 搜索请求的处理方法及装置
CN117010889A (zh) 数据处理方法、装置及设备、介质、产品
CN111988781A (zh) 一种物联网设备安全接入的验证方法及系统
CN112153130A (zh) 一种业务资源访问方法和装置
CN115150141B (zh) 一种单点登录方法以及单点管理设备
CN110417754A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40026327

Country of ref document: HK