CN112100604B - 终端设备信息处理方法、装置 - Google Patents
终端设备信息处理方法、装置 Download PDFInfo
- Publication number
- CN112100604B CN112100604B CN201910523374.4A CN201910523374A CN112100604B CN 112100604 B CN112100604 B CN 112100604B CN 201910523374 A CN201910523374 A CN 201910523374A CN 112100604 B CN112100604 B CN 112100604B
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- equipment
- information
- terminal
- reference 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 36
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000007781 pre-processing Methods 0.000 claims description 53
- 230000015654 memory Effects 0.000 claims description 48
- 150000003839 salts Chemical class 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 12
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000252229 Carassius auratus Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000037396 body weight Effects 0.000 description 1
- 230000001680 brushing effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program 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
技术领域
本公开涉及互联网安全技术领域,尤其涉及一种终端设备信息处理方法、装置和存储介质。
背景技术
与人体的生物指纹类似,设备指纹由于重复率极低,能够用来识别不同的终端设备。
相关技术中,设备指纹的生成依赖于从终端设备采集的信息。然而,相关技术中用于生成设备指纹的信息容易发生变化。例如刷机、改机,操作系统升级会导致用于生成设备指纹的部分或全部信息发生变化。故此,如果信息发生变化,则导致信息变化前后同一终端设备生成的设备指纹不同。那么,在此种情况下,相关技术会将同一终端设备认定为不同设备。
发明内容
本公开提供一种终端设备信息处理方法、装置和存储介质,以至少解决相关技术中无法识别出已知的终端设备的问题。本公开的技术方案如下:
第一方面,本公开提供一种终端设备信息处理方法。该方法包括:
获取终端设备的设备指纹参考信息集合;所述设备指纹参考信息集合用于计算生成所述终端设备的设备指纹;
针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度;所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的;
若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。
可选的,预先存储有设备指纹描述信息的唯一率,该唯一率表示设备指纹描述信息在同类信息的统计样本中有且仅有一个的统计概率;
可选的,所述若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备,包括:
针对每个相似度大于或等于所述预设阈值的已知设备执行:确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合中相同的预设关键信息;获取各相同的预设关键信息的唯一率;根据各相同的预设关键信息的唯一率,确定各相同的预设关键信息均不唯一的概率,保存该均不唯一的概率与该已知设备的对应关系;
若均不唯一的概率的最小值小于指定值,则确定所述终端设备为该最小值对应的已知设备,所述指定值用于限定识别出同一终端设备的准确率。
可选的,所述方法还包括:
若均不唯一的概率的最小值大于或等于所述指定值,则确定所述终端设备为新的终端设备;并,
为所述终端设备生成设备指纹。
可选的,所述设备指纹为根据所述设备指纹参考信息生成的内码。
可选的,若均不唯一的概率的最小值小于指定值,则确定所述终端设备的设备指纹为该最小值对应的已知设备的设备指纹之后,所述方法还包括:
依据接收到的所述终端设备发送的设备指纹获取请求,获取所述终端设备的设备指纹;
生成所述设备指纹的外码;所述外码具有有效期;
将所述外码发送给所述终端设备;
在接收到所述终端设备发送的携带有外码的认证请求后,若确定所述认证请中携带的外码在记录的有效期内、且所述认证请中携带的外码与保存的所述终端设备的外码相同,则确定认证成功。
可选的,针对每个已知设备,根据所述待处理设备指纹参考信息集合和保存的该已知设备的指纹描述信息集合,确定所述终端设备和该已知设备的相似度之前,还包括:
根据预设的预处理规则,对所述待处理设备指纹参考信息集合进行预处理得到预处理结果,并确定所述预处理结果满足预设条件,其中:
若所述预处理操作包括剔除参数值为预设错误值的设备指纹参考信息,则所述预设条件包括剔除信息后所述设备指纹参考信息集合不为空;
若所述预处理操作包括检测所述设备指纹参考信息集合中是否包含预设虚拟机参数特征,则所述预设条件包括检测结果为未检测到包含预设虚拟机参数特征;
若所述预处理操作包括检测所述设备指纹参考信息集合中是否包含预设模拟器参数特征,则所述预设条件包括检测结果为未检测到预设模拟器参数特征;
若所述预处理操作包括从所述设备指纹参考信息集合中查找预设关键信息,则所述预设条件包括确定查找到所述预设关键信息。
可选的,预先维护有被动码和设备指纹的对应关系;
若确定未查找到所述预设关键信息,所述方法还包括:
采用所述待处理设备指纹参考信息集合中的预设基础参数生成被动码;
从所述被动码和设备指纹的对应关系中查找所述终端设备的被动码;
若未查找到所述终端设备的被动码,则根据所述设备指纹参考信息集合为所述终端设备生成设备指纹;
并根据所述终端设备的被动码和设备指纹更新所述被动码和设备指纹的对应关系。
可选的,所述方法还包括:
若分别确定的所述终端设备为各已知设备的相似度均小于预设阈值,则根据所述待处理设备指纹参考信息集合,生成所述终端设备的设备指纹。
可选的,获取终端设备的待处理设备指纹参考信息集合,包括:
接收所述终端设备发送的密文数据,所述密文数据中包括固定盐值、终端签名和序列化后的设备指纹参考信息集合;
若确定所述固定盐值和预存的固定盐值相同,则利用白盒通用信息摘要算法Hmac,生成序列化后的设备指纹参考信息的第一摘要;
利用白盒对称加密算法,对所述第一摘要进行加密,得到第一密文;
利用白盒Hmac,生成所述第一密文的第二摘要;
选取所述第二摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到服务端签名;
若确定所述服务端签名和所述终端签名相同,则对所述序列化后的待处理设备指纹参考信息执行反序列化操作,得到设备指纹参考信息集合。
可选的,所述设备指纹参考信息包括所述终端设备的以下信息中的至少一种:物理层信息、操作系统信息、用户信息。
第二方面,本公开还提供另一种终端设备信息处理方法。该方法包括:
采集待处理设备指纹参考信息,所述待处理设备指纹参考信息包括以下中的至少一种:物理层信息、操作系统信息、用户信息;
将采集的待处理设备指纹参考信息构成的待处理设备指纹参考信息集合发送给服务器,以使所述服务器获取终端设备的设备指纹参考信息集合;针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度;所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的;若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。
可选的,将采集的待处理设备指纹参考信息发送给服务器,包括:
对所述待处理设备指纹参考信息进行序列化;
利用白盒Hmac,生成序列化后的待处理设备指纹参考信息的第三摘要;
利用白盒对称加密算法,对所述第三摘要进行加密,得到第二密文;
利用白盒Hmac,生成所述第二密文的第四摘要;
选取所述第四摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到终端签名;
在所述序列化后的所述待处理参数和终端签名以及预存的固定盐值,发送给服务器。
第三方面,本公开还提供一种终端设备信息处理装置。该装置包括:
获取单元,被配置为执行获取终端设备的设备指纹参考信息集合;所述设备指纹参考信息集合用于计算生成所述终端设备的设备指纹;
处理单元,被配置为执行针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度;所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的;
确定单元,被配置为执行若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。
可选的,所述确定单元还被配置为执行:
针对每个相似度大于或等于所述预设阈值的已知设备执行:确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合中相同的预设关键信息;获取各相同的预设关键信息的唯一率;根据各相同的预设关键信息的唯一率,确定各相同的预设关键信息均不唯一的概率,保存该均不唯一的概率与该已知设备的对应关系;
若均不唯一的概率的最小值小于指定值,则确定所述终端设备为该最小值对应的已知设备,所述指定值用于限定识别出同一终端设备的准确率。
可选的,所述确定单元还被配置为执行:
若均不唯一的概率的最小值大于或等于所述指定值,则确定所述终端设备为新的终端设备;并,
为所述终端设备生成设备指纹。
可选的,若均不唯一的概率的最小值小于指定值,所述确定单元还被配置为执行:
确定所述终端设备的设备指纹为该最小值对应的已知设备的设备指纹之后,
依据接收到的所述终端设备发送的设备指纹获取请求,获取所述终端设备的设备指纹;
生成所述设备指纹的外码;所述外码具有有效期;
将所述外码发送给所述终端设备;
在接收到所述终端设备发送的携带有外码的认证请求后,若确定所述认证请中携带的外码在记录的有效期内、且所述认证请中携带的外码与保存的所述终端设备的外码相同,则确定认证成功。
可选的,所述处理单元还被配置为执行:
针对每个已知设备,根据所述待处理设备指纹参考信息集合和保存的该已知设备的指纹描述信息集合,确定所述终端设备和该已知设备的相似度之前,根据预设的预处理规则,对所述待处理设备指纹参考信息集合进行预处理得到预处理结果,并确定所述预处理结果满足预设条件,其中:
若所述预处理操作包括剔除参数值为预设错误值的设备指纹参考信息,则所述预设条件包括剔除信息后所述设备指纹参考信息集合不为空;
若所述预处理操作包括检测所述设备指纹参考信息集合中是否包含预设虚拟机参数特征,则所述预设条件包括检测结果为未检测到包含预设虚拟机参数特征;
若所述预处理操作包括检测所述设备指纹参考信息集合中是否包含预设模拟器参数特征,则所述预设条件包括检测结果为未检测到预设模拟器参数特征;
若所述预处理操作包括从所述设备指纹参考信息集合中查找预设关键信息,则所述预设条件包括确定查找到所述预设关键信息。
可选的,预先维护有被动码和设备指纹的对应关系,所述处理单元还被配置为执行:
若确定未查找到所述预设关键信息,采用所述待处理设备指纹参考信息集合中的预设基础参数生成被动码;
从所述被动码和设备指纹的对应关系中查找所述终端设备的被动码;
若未查找到所述终端设备的被动码,则根据所述设备指纹参考信息集合为所述终端设备生成设备指纹;
并根据所述终端设备的被动码和设备指纹更新所述被动码和设备指纹的对应关系。
可选的,所述确定单元还被配置为执行:
若分别确定的所述终端设备和各已知设备的相似度均小于预设阈值,则根据所述待处理设备指纹参考信息集合,生成所述终端设备的设备指纹。
可选的,所述获取单元具体被配置为执行:
接收所述终端设备发送的密文数据,所述密文数据中包括固定盐值、终端签名和序列化后的设备指纹参考信息集合;
若确定所述固定盐值和预存的固定盐值相同,则利用白盒通用信息摘要算法Hmac,生成序列化后的设备指纹参考信息的第一摘要;
利用白盒对称加密算法,对所述第一摘要进行加密,得到第一密文;
利用白盒Hmac,生成所述第一密文的第二摘要;
选取所述第二摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到服务端签名;
若确定所述服务端签名和所述终端签名相同,则对所述序列化后的待处理设备指纹参考信息执行反序列化操作,得到设备指纹参考信息集合。
可选的,所述设备指纹参考信息包括所述终端设备的以下信息中的至少一种:物理层信息、操作系统信息、用户信息。
第四方面,本公开还提供另一种终端设备信息处理装置。该装置包括;
采集单元,被配置为执行采集待处理设备指纹参考信息,所述待处理设备指纹参考信息包括以下中的至少一种:物理层信息、操作系统信息、用户信息;
发送单元,被配置为执行将采集的待处理设备指纹参考信息构成的待处理设备指纹参考信息集合发送给服务器,以使所述服务器获取终端设备的设备指纹参考信息集合;针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度;所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的;若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。
可选的,所述发送单元还被配置为执行:
对所述待处理设备指纹参考信息进行序列化;
利用白盒Hmac,生成序列化后的待处理设备指纹参考信息的第三摘要;
利用白盒对称加密算法,对所述第三摘要进行加密,得到第二密文;
利用白盒Hmac,生成所述第二密文的第四摘要;
选取所述第四摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到终端签名;
在所述序列化后的所述待处理参数和终端签名以及预存的固定盐值,发送给服务器。
第五方面,本公开还提供另一终端设备处理装置。该装置包括:
处理器;
用于存储所述处理器可执行指定指令的存储器;
其中,所述处理器被配置为执行指令,以实现任一终端设备信息处理方法。
第六方面,本公开另一实施例还提供了一种计算机程序产品,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例提供的任一终端设备信息处理方法。
第七方面,本公开另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本公开实施例中的任一终端设备信息处理方法。
本公开实施例提供的终端设备信息处理方法、装置和存储介质,由于根据终端设备的设备指纹参考信息和记录的已知设备的设备指纹描述信息,能够确定终端设备和各已知设备的相似度。并且,进一步通过预设阈值确定终端设备是否为已知设备。
本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种终端设备处理方法的应用场景示意图。
图2是根据一示例性实施例示出的一种终端设备处理方法的流程示意图;
图3是根据一示例性实施例示出的另一终端设备处理方法的流程示意图;
图4是根据一示例性实施例示出的另一终端设备处理方法的流程示意图;
图5是根据一示例性实施例示出的另一终端设备处理方法的流程示意图;
图6是根据一示例性实施例示出的另一终端设备处理方法的流程示意图;
图7是根据一示例性实施例示出的另一终端设备处理方法的应用场景示意图;
图8是根据一示例性实施例示出的一种终端设备处理装置的框图;
图9是根据一示例性实施例示出的另一终端设备处理装置的框图;
图10是根据一示例性实施例示出的另一终端设备处理装置的框图;
图11是根据一示例性实施例示出的另一终端设备处理装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
下面结合附图介绍本公开实施例提供的技术方案。
目前,终端设备的设备指纹计算依赖于从终端设备采集的参数。但是终端设备在刷机、改机和系统升级后会导致终端设备的参数发生变化,则进一步导致信息变化前后同一终端设备生成的设备指纹不同,从而无法识别出同一终端设备,也即会将同一终端设备认定为不同的终端设备。
有鉴于此,本公开为了能够识别出同一终端设备,提供一种终端设备信息处理方法。该方法中,预先记录有已知设备指纹的多个已知设备。对于各已知设备,还记录有对应的设备指纹描述信息集合。该设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的。例如可筛选关键信息作为设备指纹描述信息。之后,针对待处理的终端设备,根据待处理设备的设备指纹参考信息集合和已知设备的设备指纹描述信息集合进行处理得到终端设备和已知设备的相似度,若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。该方法中,基于待处理设备的设备指纹参考信息和已知设备的设备指纹描述信息,实现了以模糊检测的方式来确定终端设备和已知设备的相似度,从而确定出终端设备是否为已知设备。而,设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的,保证了在采集终端设备的指纹参考信息时,对信息的要求比较宽泛,尽可能的获取设备指纹描述信息即可,并不要求一定要获取到何种信息,从而对采集的设备指纹参考信息具有一定的宽容度,能够容忍设备信息的一定变化。
为便于理解,下面结合附图对本公开提供的技术方案做进一步说明。
参阅图1,为本公开实施例中一种终端设备信息处理方法的应用场景示意图。该场景中包括用户100的终端设备101和服务器102。
服务器102需要识别用户100的终端设备101是否为已知设备,则获取终端设备101的设备指纹参考信息集合。所述设备指纹参考信息集合用于计算生成所述终端设备的设备指纹。
服务器102针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度;若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。由此实现对同一终端设备的识别,降低将已知的终端设备识别为未知的终端设备的可能性。
在一个实施例中,终端设备101可以是手机、平板电脑、个人计算机、虚拟机或模拟器模拟的终端设备等。
参阅图2,为本公开实施例提供的一种终端设备信息处理方法的流程示意图,可包括以下步骤:
步骤201:获取终端设备的设备指纹参考信息集合;所述设备指纹参考信息集合用于计算生成所述终端设备的设备指纹。
步骤202:针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度。其中,所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的。
步骤203:判断是否存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值;若存在,则执行步骤204;若不存在,则执行步骤205。
具体的,预设阈值可以根据需要自行设置,例如可以设置为90%,95%等,还可以设置为0.8,0.9等,本公开不做具体限定。具体实施时,为了控制能够识别出同一终端设备的准确性,上述预设阈值可以根据实际需要设置为80%,90%甚至以上,提高确定终端设备为已知设备的准确率。
步骤204:确定所述终端设备为已知设备。
步骤205:根据所述待处理设备指纹参考信息集合,生成所述终端设备的设备指纹。
例如,预设阈值设置为95%,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定得到的相似度中,最大的相似度为P=91%,也小于预设阈值95%,即确定该终端设备为新设备。
在一个实施例中,所述设备指纹参考信息包括所述终端设备的以下信息中的至少一种:物理层信息、操作系统信息、用户信息。
可选的,物理层信息可以为硬件设备信息,例如可以包括终端设备的生产厂商信息、芯片产商信息、设备型号信息、设备电量信息、设备版本类型、设备安装的传感器列表,设备屏幕分辨率、设备主板信息、CPU指令集、蓝牙地址、wifi(无线宽带)地址(可以是当前提供服务的wifi地址、也可以时经常使用的wifi地址,还可以是历史采用的wifi列表中各wifi的地址)、屏幕当前亮度、uevent文件信息、固件信息、设备品牌。
操作系统可以为操作系统的描述信息,可包括:操作系统版本、rom(只读存储器镜像)信息、IMEI(International Mobile Equipment Identity,国际移动设备识别码)、设备id、IDFA(Identifier For Adversting,标识符)、系统可用内存、设备引导程序版本号、固件信息、系统总容量、系统可用内存、时区、手机型号、adb(Android Debug Bridge,安卓调试桥)环境。
用户信息可以为用于描述用户特征的信息,该特征例如可以包括生物特征和其他用户信息,例如可包括照片哈希hash值、录入的音频hash值。
其他用户信息包括:IMSI(International Mobile Subscriber IdentificationNumber,国际移动用户识别码)、手机网络类型(如3G网络、4G网络、5G网络等)、语音邮寄号码、iso国家码、音乐hash(如存储的音乐列表的hash)、通讯录中的联系人hash、当前运行应用列表,安装应用列表、当前为所述终端设备提供服务的基站信息、为所述终端设备提供服务的基站附近的基站信息、存储卡hash,例如获取存储卡的生产产商和生产编号、存储大小等信息计算的hash。
在一个实施例中,上述步骤202中可以利用预先基于各设备的设备指纹参考信息训练得到的卷积神经网络模型,确定终端设备和已知设备的相似度。也可以是基于相似信息以加权求和的方式计算终端设备和已知设备的相似度,该模型可如公式(1)所示:
P=K1x1+K2x2+…+Knxn 公式(1)
其中,P表示终端设备和各已知设备的相似度,xn表示与设备指纹描述信息相同的设备指纹参考信息,Kn表示各相同的设备指纹参考信息的权重。
为了能够清楚的了解本公开的技术方案,下面对本公开中采用的唯一率做简单的说明。该唯一率是指设备指纹描述信息在同类信息的统计样本中有且仅有一个的统计概率。例如,假设有1亿人,分别让他们登记了自己的体重,年龄,姓名,身份证号等信息。并抽取了其中1万个人做样本,统计得出的。如统计结果为有60%的人的体重是不同的,有70%的人的年龄是不同的,有80%的人的姓名是不同的,有99%的人的身份证号是不同的。则,体重的唯一率是60%,年龄的唯一率是70%,姓名的唯一率是80%,身份证号的唯一率是99%。
在了解唯一率的基础上,下面对本公开的技术方案做进一步解释。
针对每个记录有设备指纹的已知设备,确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合的交集内的指纹描述信息;
具体的,例如,设备指纹参考信息集合中包括IMEI为111000,设备型号为X,芯片产商信息为Y,前述该已知设备的设备指纹描述信息集合包括IMEI为111000,设备型号为X,设备主板信息为Z,则交集内的指纹描述信息为IMEI为111000,设备型号为X。
根据所述交集内的指纹描述信息的各自的唯一率,确定所述终端设备和该已知设备的相似度。
在确定终端设备和各已知设备的相似度之后,能够结合以下方法进一步确定该终端设备是否为已知设备,且确定为哪一已知设备。
具体的,可以执行为如图3所示的步骤。参阅图3,为本公开实施例中一种终端设备信息处理方法的流程示意图。可以包括以下步骤:
步骤301:确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合中相同的预设关键信息。
步骤302:获取各相同的预设关键信息的唯一率。
具体实施时,各预设关键信息的唯一率可以转换成分值,并在服务器中维护各预设关键信息与分值的关系。例如,蓝牙地址的唯一率为91.93%时,蓝牙地址的分值可以为9193,同理IMEI的分值可以为9911等。
为了减少计算量,在相同的预设关键信息的唯一率为大于或等于9900时,则可以直接确定终端设备为该相同的预设关键信息对应的已知设备。结合上述例子,即在相同的预设关键信息中包括蓝牙地址和IMEI时,可以确定终端设备为与各已知设备中,蓝牙地址和IMEI相同的已知设备。
步骤303:根据各相同的预设关键信息的唯一率,确定各相同的预设关键信息均不唯一的概率,保存该均不唯一的概率与该已知设备的对应关系。
步骤304:判断均不唯一的概率值得最小值是否小于指定值,若是则执行步骤305,若否则执行步骤306。
具体实施时,可以将计算的到的各个S由大到小排序,或者由小到大排序,确定S的最小值。
步骤305:确定所述终端设备为该最小值对应的已知设备。
具体的,指定值用于限定识别出同一终端设备的准确率,也即在前述预设阈值设置为90%时,指定值可以设置为表示10%的值。例如,在B设置为10000时指定值可以设置为100。
在一个实施例中,在步骤305确定出终端设备具体是哪个已知设备之后,获取该已知设备的设备指纹作为该终端设备的设备指纹。
步骤306:确定所述终端设备为新的终端设备。
步骤307:为所述终端设备生成设备指纹。
具体实施时,设备指纹可以是终端设备的hash,也可以是根据设备指纹参考信息生成的内码,即可以根据设备指纹参考信息生成内码作为该终端设备的设备指纹。内码是指计算机汉字系统中使用的二进制字符编码,是沟通输入、输出与系统平台之间的交换码,通过内码可以达到通用和高效率传输文本的目的,同时内码便于扩展和存储信息。
上述方法,通过待处理设备的设备指纹参考信息和已知设备的设备指纹描述信息,可以初步确定终端设备和各已知设备的相似度。进一步的,可以针对各相似度大于或等于预设阈值的各已知设备进一步的准确的确定终端设备为哪一已知设备。即使是终端设备经过刷机、改机或者系统升级,导致参数改变,也能够确定出参数改变前后的两个终端设备为同一终端设备。
在确定终端设备的设备指纹之后,为了进一步的加密传输设备指纹,防止设备指纹泄露,可以生成设备指纹的外码发送给终端设备。具体可实施为如图4所示,包括以下步骤:
步骤401:依据接收到的所述终端设备发送的设备指纹获取请求,获取所述终端设备的设备指纹。
步骤402:生成所述设备指纹的外码;所述外码具有有效期。
具体实施时,外码的有效期可以根据实际情况设置,例如可以将外码的有效期设置为1天、15天或者1个月等。具体实施时,可以根据实际需求确定有效期,本公开对此不作限定。
步骤403:将所述外码发送给所述终端设备。
步骤404:在接收到所述终端设备发送的携带有外码的认证请求后,若确定所述认证请中携带的外码在记录的有效期内、且所述认证请中携带的外码与保存的所述终端设备的外码相同,则确定认证成功。
上述方法,由于将外码发送给终端设备,能够保证设备指纹不被暴露。另外,设置外码的有效期,即使外码被窃取,外码也会在超过有效期时失效,以确保外码被窃取后终端设备欺骗服务器。
为了能够减少计算量并提高确定终端设备和已知设备的相似度的准确性,服务器在获取终端设备的设备指纹参考信息集合之后,还可以对该设备指纹参考信息集合做预处理操作,并且在预处理操作结果满足预设条件时,确定终端设备和各已知设备的相似度。其中,在一个实施例中预处理操作包括可如下3种,每个预处理操作结果分别对应一个预设条件。
1)、预处理操作1:剔除参数值为预设错误值的设备指纹参考信息。
具体实施时,错误值可以是参数值全为0的值。例如,在获取的设备指纹参考信息集合中,获取的蓝牙地址为000000000,则在设备指纹参考信息集合中剔除蓝牙地址。
相应的预设条件1可以为设备指纹参考信息集合不为空。也即,为空时,无法确定终端设备和已知设备的相似度。
2)、预处理操作2可以为:检测设备指纹参考信息集合中是否包含预设虚拟机参数特征。
具体实施时,若设备指纹参考信息集合包含预设虚拟机参数特征,则为该终端设备添加虚拟机标识。
相应的预设条件2:检测结果为未检测到包含预设虚拟机参数特征。
3)、预处理操作3:检测所述设备指纹参考信息集合中是否包含预设模拟器参数特征。
具体实施时,若设备指纹参考信息集合包含预设模拟器参数特征,则为该终端设备添加模拟器标识。
相应的预设条件3可以为:检测结果为未检测到包含预设模拟器参数特征。
基于预处理操作2)和/或预处理操作3)可以识别出虚拟机和/或模拟器。这样,并对相应的终端设备的设备指纹参考信息标记为来自虚拟机和/或模拟器。以便于后续根据标记进行相应的处理。例如统一发送预设信息给标记为虚拟机和/或模拟器的客户端。该预设信息可以根据实际业务需求设定,本公开对此不作限定。
进一步理解,这里针对预设条件2和预设条件3举例说明。具体的,例如,服务器可以维护服务器参数特征和虚拟机参数特征。例如,设备的文件路径"/dev/qemu_pipe";/"system/lib/libc_malloc_debug_qemu.so","/sys/qemu_trace"中存在任意一条路径即为虚拟机或模拟器;设备型号下列中的任意一个值sdk\SDK\google_sdk\GOOGLE_SDK即可判断为模拟器或虚拟机;设备固件版本信息为goldfish、smdk4x12中任意一个即可判断为模拟器或虚拟机;设备adb环境为/sys/devices/virtual/misc/android_adb即为模拟器或虚拟机;设备的生产厂商信息为nox,sdk,SDK中任意一种即可判断为模拟器或虚拟器。
上述方法,通过对设备指纹参考信息集合进行预处理操作,过滤掉无需用于计算终端设备和已知设备的相似度的信息从而能够减少设备指纹计算的计算量,提高计算速度,并提高确定终端设备和已知设备的相似度的效率。
当经过预处理操作,确认获取的终端设备的设备指纹参考信息不满足预设条件时,无法预估终端设备和各已知设备的相似度。在此情况下,本公开为了也能够识别出终端设备是否为已知设备。
在一个实施例中,可以预先维护有被动码和设备指纹的对应关系,并基于被动码来识别终端设备是否为已知设备。具体的,若确定未查找到所述预设关键信息,可实施为如图5所示,包括以下步骤:
步骤501:获取设备指纹参考信息集合。
步骤502:对所述设备指纹参考信息集合进行预处理操作,得到预处理结果。
步骤503:判断所述预处理结果是否满足预设条件,若满足则执行步骤504;若不满足,则执行步骤506。
步骤504:针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度。
步骤505:若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。
步骤506:采用所述待处理设备指纹参考信息集合中的预设基础参数生成被动码。
步骤507:从所述被动码和设备指纹的对应关系中查找所述终端设备的被动码。
步骤508:判断所述被动码和设备指纹的对应关系中是否能查找到所述终端设备的被动码,若能则执行步骤509,若不能则执行步骤510。
步骤509:获取该被动码对应的设备指纹作为终端设备的设备指纹。
步骤510:根据所述设备指纹参考信息集合为所述终端设备生成设备指纹。
步骤511:并根据所述终端设备的被动码和设备指纹更新所述被动码和设备指纹的对应关系。
在一个可能的实施例中,终端设备可以通过对采集的设备指纹参考信息集合进行加密的方法,保证设备指纹参考信息不被泄露。为了便于说明终端如何采集设备指纹参考信息并发送给服务器,以及服务器如何获得设备指纹参考信息,下面对此进行说明。
参阅图6,为本公开实施例中另一终端设备信息处理方法的流程示意图。
包括以下步骤:
步骤C1:终端设备可以采集待处理设备指纹参考信息,所述待处理设备指纹参考信息包括以下中的至少一种:物理层信息、操作系统信息、用户信息。
步骤C2:终端设备对采集的待处理设备指纹参考信息进行序列化;
步骤C3:利用白盒Hmac,生成序列化后的待处理设备指纹参考信息的第三摘要;
步骤C4:利用白盒对称加密算法,对所述第三摘要进行加密,得到第二密文;
步骤C5:利用白盒Hmac,生成所述第二密文的第四摘要;
步骤C6:选取所述第四摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到终端签名;
步骤C7:在所述序列化后的所述待处理参数和终端签名以及预存的固定盐值,发送给服务器。
服务器接收终端设备发送的密文数据,所述密文数据中包括固定盐值、终端签名和序列化后的设备指纹参考信息集合。
服务器若确定所述固定盐值和预存的固定盐值相同,则利用白盒通用信息摘要算法Hmac,生成序列化后的设备指纹参考信息的第一摘要;利用白盒对称加密算法,对所述第一摘要进行加密,得到第一密文;利用白盒Hmac,生成所述第一密文的第二摘要;选取所述第二摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到服务端签名;若确定所述服务端签名和所述终端签名相同,则对所述序列化后的待处理设备指纹参考信息执行反序列化操作,得到设备指纹参考信息集合。
具体实施时,服务器可以采用Protobuf进行反序列化。固定盐值可以是服务器和终端设备预先商量好的,也可以是终端设备根据服务器的通知获得的。
上述方法,将终端设备采集的设备指纹参考信息进行加密加盐,并做签名之后发送给服务器,能够使得服务器接收终端设备的密文数据后,根据盐值以及签名对终端设备进行身份认证,避免终端设备发送的密文数据被截获后,欺骗服务器,也能够保证设备指纹信息的安全性。
为了清楚地了解本公开提供的技术方案,下面结合图7做进一步说明。参阅图7,为本公开实施例中一种终端设备信息处理方法的另一应用场景示意图。该场景包括:用户700的终端设备701,服务器702,以及安装于终端设备701的APP703(应用程序),例如购物APP,短视频APP等。
以应用程序703做推广活动,为新用户提供优惠券和/或用户红包为例。对本公开实施例提供的方法进行说明。用户700通过终端设备701登录APP703领取优惠券和新用户红包。服务器702需要识别该用户是否为新用户。所以,从终端设备701中获取设备指纹参考信息。获取到的设备指纹参考信息集合中包括X1,X2,X3,X6,X5五个信息;服务器702中记录有已知设备A的设备指纹描述信息集合A1、已知设备B的设备指纹描述信息集合B1和已知设备C的设备指纹描述信息集合C1,已知设备D的设备指纹描述信息集合D1。服务器702根据该设备指纹参考信息集合,确定终端设备701和各已知设备的相似度。假设,终端设备和已知设备A的相似度PA=80%,终端设备和已知设备B的相似度PB=89%,终端设备和已知设备C的相似度PC=92%,终端设备和已知设备D的相似度PD=97%。其中,PC和PD大于预设阈值90%,所以,该终端设备为已知设备。
终端设备与已知设备C相同的预设关键信息为X1和X6,与已知设备D相同的预设关键信息为X2和X3和X5。通过步骤301-步骤305计算得出终端设备与已知设备C相同的预设关键信息均不唯一的概率SC=102,终端设备与已知设备D相同的预设关键信息均不唯一的概率SD=80。其中,SD小于指定值100(其取值上限为10000),可以确定终端设备与已知设备D为同一设备。所以,用户700无法参与这次推广活动。
基于相同的发明构思,本公开还提供一种终端设备信息处理装置。参阅图8,为本公开提供的一种终端设备信息处理装置示意图。该装置包括:
获取单元801,被配置为执行获取终端设备的设备指纹参考信息集合;所述设备指纹参考信息集合用于计算生成所述终端设备的设备指纹;
处理单元802,被配置为执行针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度;所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的;
确定单元803,被配置为执行若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。
可选的,所述确定单元803还被配置为执行:
针对每个相似度大于或等于所述预设阈值的已知设备执行:确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合中相同的预设关键信息;获取各相同的预设关键信息的唯一率;根据各相同的预设关键信息的唯一率,确定各相同的预设关键信息均不唯一的概率,保存该均不唯一的概率与该已知设备的对应关系;
若均不唯一的概率的最小值小于指定值,则确定所述终端设备为该最小值对应的已知设备,所述指定值用于限定识别出同一终端设备的准确率。
可选的,所述确定单元803还被配置为执行:
若均不唯一的概率的最小值大于或等于所述指定值,则确定所述终端设备为新的终端设备;并,
为所述终端设备生成设备指纹。
可选的,若均不唯一的概率的最小值小于指定值,所述确定单元803还被配置为执行:
确定所述终端设备的设备指纹为该最小值对应的已知设备的设备指纹之后,
依据接收到的所述终端设备发送的设备指纹获取请求,获取所述终端设备的设备指纹;
生成所述设备指纹的外码;所述外码具有有效期;
将所述外码发送给所述终端设备;
在接收到所述终端设备发送的携带有外码的认证请求后,若确定所述认证请中携带的外码在记录的有效期内、且所述认证请中携带的外码与保存的所述终端设备的外码相同,则确定认证成功。
可选的,所述处理单元802还被配置为执行:
针对每个已知设备,根据所述待处理设备指纹参考信息集合和保存的该已知设备的指纹描述信息集合,确定所述终端设备和该已知设备的相似度之前,根据预设的预处理规则,对所述待处理设备指纹参考信息集合进行预处理得到预处理结果,并确定所述预处理结果满足预设条件,其中:
若所述预处理操作包括剔除参数值为预设错误值的设备指纹参考信息,则所述预设条件包括剔除信息后所述设备指纹参考信息集合不为空;
若所述预处理操作包括检测所述设备指纹参考信息集合中是否包含预设虚拟机参数特征,则所述预设条件包括检测结果为未检测到包含预设虚拟机参数特征;
若所述预处理操作包括检测所述设备指纹参考信息集合中是否包含预设模拟器参数特征,则所述预设条件包括检测结果为未检测到预设模拟器参数特征;
若所述预处理操作包括从所述设备指纹参考信息集合中查找预设关键信息,则所述预设条件包括确定查找到所述预设关键信息。
可选的,预先维护有被动码和设备指纹的对应关系,所述处理单元802还被配置为执行:
若确定未查找到所述预设关键信息,采用所述待处理设备指纹参考信息集合中的预设基础参数生成被动码;
从所述被动码和设备指纹的对应关系中查找所述终端设备的被动码;
若未查找到所述终端设备的被动码,则根据所述设备指纹参考信息集合为所述终端设备生成设备指纹;
并根据所述终端设备的被动码和设备指纹更新所述被动码和设备指纹的对应关系。
可选的,所述确定单元803还被配置为执行:
若分别确定的所述终端设备和各已知设备的相似度均小于预设阈值,则根据所述待处理设备指纹参考信息集合,生成所述终端设备的设备指纹。
可选的,所述获取单元801具体被配置为执行:
接收所述终端设备发送的密文数据,所述密文数据中包括固定盐值、终端签名和序列化后的设备指纹参考信息集合;
若确定所述固定盐值和预存的固定盐值相同,则利用白盒通用信息摘要算法Hmac,生成序列化后的设备指纹参考信息的第一摘要;
利用白盒对称加密算法,对所述第一摘要进行加密,得到第一密文;
利用白盒Hmac,生成所述第一密文的第二摘要;
选取所述第二摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到服务端签名;
若确定所述服务端签名和所述终端签名相同,则对所述序列化后的待处理设备指纹参考信息执行反序列化操作,得到设备指纹参考信息集合。
可选的,所述设备指纹参考信息包括所述终端设备的以下信息中的至少一种:物理层信息、操作系统信息、用户信息。
基于相同的发明构思,本公开还提供另一种终端设备信息处理装置。参阅图9,为本公开实施例中另一种终端设备信息处理装置示意图。该装置包括:
采集单元901,被配置为执行采集待处理设备指纹参考信息,所述待处理设备指纹参考信息包括以下中的至少一种:物理层信息、操作系统信息、用户信息;
发送单元902,被配置为执行将采集的待处理设备指纹参考信息构成的待处理设备指纹参考信息集合发送给服务器,以使所述服务器获取终端设备的设备指纹参考信息集合;针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度;所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的;若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。
可选的,所述发送单元902还被配置为执行:
对所述待处理设备指纹参考信息进行序列化;
利用白盒Hmac,生成序列化后的待处理设备指纹参考信息的第三摘要;
利用白盒对称加密算法,对所述第三摘要进行加密,得到第二密文;
利用白盒Hmac,生成所述第二密文的第四摘要;
选取所述第四摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到终端签名;
在所述序列化后的所述待处理参数和终端签名以及预存的固定盐值,发送给服务器。
请参见图10,基于同一技术构思,本公开实施例还提供了一种终端设备信息处理装置100,可以包括存储器1001和处理器1002。
所述存储器1001,用于存储处理器1002执行的计算机程序。存储器1001可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端设备信息处理装置的使用所创建的数据等。处理器1002,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本公开实施例中不限定上述存储器1001和处理器1002之间的具体连接介质。本公开实施例在图10中以存储器1001和处理器1002之间通过总线1003连接,总线1003在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1003可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1001,可以是易失性存储器(volatile memory)。例如,随机存取存储器(random-access memory,RAM);存储器1001也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1001是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1001可以是上述存储器的组合。
处理器1002,用于调用所述存储器1001中存储的计算机程序时执行如图2~图5中所示的实施例中设备所执行的方法。
请参见图11,基于同一技术构思,本公开实施例还提供了一种终端设备信息处理装置110,可以包括存储器1101和处理器1102。
所述存储器1101,用于存储处理器1102执行的计算机程序。存储器1101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端设备信息处理装置的使用所创建的数据等。处理器1102,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本公开实施例中不限定上述存储器1101和处理器1102之间的具体连接介质。本公开实施例在图10中以存储器1101和处理器1102之间通过总线1103连接,总线1103在图11中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1103可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1101,可以是易失性存储器(volatile memory)。例如,随机存取存储器(random-access memory,RAM);存储器1101也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1101是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1101可以是上述存储器的组合。
处理器1102,用于调用所述存储器1101中存储的计算机程序时执行如图6中所示的实施例中设备所执行的方法。
在一些可能的实施方式中,本公开提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本公开各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图6中所示的实施例中设备所执行的方法。
需要说明的是,本方案涉及的用户终端的信息(如设备指纹信息)是经过用户授权进行收集或其他处理分析的。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (25)
1.一种终端设备信息处理方法,其特征在于,所述方法包括:
获取终端设备的设备指纹参考信息集合;所述设备指纹参考信息集合用于计算生成所述终端设备的设备指纹;
针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度;所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的;预先存储有设备指纹描述信息的唯一率,该唯一率表示设备指纹描述信息在同类信息的统计样本中有且仅有一个的统计概率;
若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备;
其中,所述针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度,包括:
针对每个记录有设备指纹的已知设备,确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合的交集内的指纹描述信息;
根据所述交集内的指纹描述信息的各自的唯一率,确定所述终端设备和该已知设备的相似度。
2.根据权利要求1所述的方法,其特征在于,所述若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备,包括:
针对每个相似度大于或等于所述预设阈值的已知设备执行:确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合中相同的预设关键信息;获取各相同的预设关键信息的唯一率;根据各相同的预设关键信息的唯一率,确定各相同的预设关键信息均不唯一的概率,保存该均不唯一的概率与该已知设备的对应关系;
若均不唯一的概率的最小值小于指定值,则确定所述终端设备为该最小值对应的已知设备,所述指定值用于限定识别出同一终端设备的准确率。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若均不唯一的概率的最小值大于或等于所述指定值,则确定所述终端设备为新的终端设备;并,
为所述终端设备生成设备指纹。
4.根据权利要求3所述的方法,其特征在于,所述设备指纹为根据所述设备指纹参考信息生成的内码。
5.根据权利要求2所述的方法,其特征在于,若均不唯一的概率的最小值小于指定值,则确定所述终端设备的设备指纹为该最小值对应的已知设备的设备指纹之后,所述方法还包括:
依据接收到的所述终端设备发送的设备指纹获取请求,获取所述终端设备的设备指纹;
生成所述设备指纹的外码;所述外码具有有效期;
将所述外码发送给所述终端设备;
在接收到所述终端设备发送的携带有外码的认证请求后,若确定所述认证请求中携带的外码在记录的有效期内、且所述认证请求中携带的外码与保存的所述终端设备的外码相同,则确定认证成功。
6.根据权利要求1所述的方法,其特征在于,针对每个已知设备,根据所述设备指纹参考信息集合和保存的该已知设备的指纹描述信息集合,确定所述终端设备和该已知设备的相似度之前,还包括:
根据预设的预处理规则,对所述设备指纹参考信息集合进行预处理得到预处理结果,并确定所述预处理结果满足预设条件,其中:
若所述预处理操作包括剔除参数值为预设错误值的设备指纹参考信息,则所述预设条件包括剔除信息后所述设备指纹参考信息集合不为空;
若所述预处理操作包括检测所述设备指纹参考信息集合中是否包含预设虚拟机参数特征,则所述预设条件包括检测结果为未检测到包含预设虚拟机参数特征;
若所述预处理操作包括检测所述设备指纹参考信息集合中是否包含预设模拟器参数特征,则所述预设条件包括检测结果为未检测到预设模拟器参数特征;
若所述预处理操作包括从所述设备指纹参考信息集合中查找预设关键信息,则所述预设条件包括确定查找到所述预设关键信息。
7.根据权利要求6所述的方法,其特征在于,预先维护有被动码和设备指纹的对应关系;
若确定未查找到所述预设关键信息,所述方法还包括:
采用所述设备指纹参考信息集合中的预设基础参数生成被动码;
从所述被动码和设备指纹的对应关系中查找所述终端设备的被动码;
若未查找到所述终端设备的被动码,则根据所述设备指纹参考信息集合为所述终端设备生成设备指纹;
并根据所述终端设备的被动码和设备指纹更新所述被动码和设备指纹的对应关系。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若分别确定的所述终端设备和各已知设备的相似度均小于预设阈值,则根据所述设备指纹参考信息集合,生成所述终端设备的设备指纹。
9.根据权利要求1所述的方法,其特征在于,获取终端设备的设备指纹参考信息集合,包括:
接收所述终端设备发送的密文数据,所述密文数据中包括固定盐值、终端签名和序列化后的设备指纹参考信息集合;
若确定所述固定盐值和预存的固定盐值相同,则利用白盒通用信息摘要算法Hmac,生成序列化后的设备指纹参考信息的第一摘要;
利用白盒对称加密算法,对所述第一摘要进行加密,得到第一密文;
利用白盒Hmac,生成所述第一密文的第二摘要;
选取所述第二摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到服务端签名;
若确定所述服务端签名和所述终端签名相同,则对所述序列化后的设备指纹参考信息执行反序列化操作,得到设备指纹参考信息集合。
10.根据权利要求1所述的方法,其特征在于,所述设备指纹参考信息包括所述终端设备的以下信息中的至少一种:物理层信息、操作系统信息、用户信息。
11.一种终端设备信息处理方法,其特征在于,所述方法包括:
采集待处理设备指纹参考信息,所述待处理设备指纹参考信息包括以下中的至少一种:物理层信息、操作系统信息、用户信息;
将采集的待处理设备指纹参考信息构成的待处理设备指纹参考信息集合发送给服务器,所述服务器预先存储有设备指纹描述信息的唯一率,该唯一率表示设备指纹描述信息在同类信息的统计样本中有且仅有一个的统计概率,以使所述服务器获取终端设备的设备指纹参考信息集合;针对每个记录有设备指纹的已知设备,确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合的交集内的指纹描述信息;根据所述交集内的指纹描述信息的各自的唯一率,确定所述终端设备和该已知设备的相似度;所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的;若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。
12.根据权利要求11所述的方法,其特征在于,将采集的待处理设备指纹参考信息发送给服务器,包括:
对所述待处理设备指纹参考信息进行序列化;
利用白盒Hmac,生成序列化后的待处理设备指纹参考信息的第三摘要;
利用白盒对称加密算法,对所述第三摘要进行加密,得到第二密文;
利用白盒Hmac,生成所述第二密文的第四摘要;
选取所述第四摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到终端签名;
将所述序列化后的所述待处理设备指纹参考信息和终端签名以及预存的固定盐值,发送给服务器。
13.一种终端设备信息处理装置,其特征在于,所述装置包括:
获取单元,被配置为执行获取终端设备的设备指纹参考信息集合;所述设备指纹参考信息集合用于计算生成所述终端设备的设备指纹;
处理单元,被配置为执行针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度;所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的;预先存储有设备指纹描述信息的唯一率,该唯一率表示设备指纹描述信息在同类信息的统计样本中有且仅有一个的统计概率;
确定单元,被配置为执行若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备;
其中,所述针对每个记录有设备指纹的已知设备,根据所述设备指纹参考信息集合和该已知设备的设备指纹描述信息集合,确定所述终端设备和该已知设备的相似度,包括:
针对每个记录有设备指纹的已知设备,确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合的交集内的指纹描述信息;
根据所述交集内的指纹描述信息的各自的唯一率,确定所述终端设备和该已知设备的相似度。
14.根据权利要求13所述的装置,其特征在于,所述确定单元还被配置为执行:
针对每个相似度大于或等于所述预设阈值的已知设备执行:确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合中相同的预设关键信息;获取各相同的预设关键信息的唯一率;根据各相同的预设关键信息的唯一率,确定各相同的预设关键信息均不唯一的概率,保存该均不唯一的概率与该已知设备的对应关系;
若均不唯一的概率的最小值小于指定值,则确定所述终端设备为该最小值对应的已知设备,所述指定值用于限定识别出同一终端设备的准确率。
15.根据权利要求14所述的装置,其特征在于,所述确定单元还被配置为执行:
若均不唯一的概率的最小值大于或等于所述指定值,则确定所述终端设备为新的终端设备;并,
为所述终端设备生成设备指纹。
16.根据权利要求15所述的装置,其特征在于,若均不唯一的概率的最小值小于指定值,所述确定单元还被配置为执行:
确定所述终端设备的设备指纹为该最小值对应的已知设备的设备指纹之后,
依据接收到的所述终端设备发送的设备指纹获取请求,获取所述终端设备的设备指纹;
生成所述设备指纹的外码;所述外码具有有效期;
将所述外码发送给所述终端设备;
在接收到所述终端设备发送的携带有外码的认证请求后,若确定所述认证请求中携带的外码在记录的有效期内、且所述认证请求中携带的外码与保存的所述终端设备的外码相同,则确定认证成功。
17.根据权利要求13所述的装置,其特征在于,所述处理单元还被配置为执行:
针对每个已知设备,根据所述设备指纹参考信息集合和保存的该已知设备的指纹描述信息集合,确定所述终端设备和该已知设备的相似度之前,根据预设的预处理规则,对所述设备指纹参考信息集合进行预处理得到预处理结果,并确定所述预处理结果满足预设条件,其中:
若所述预处理操作包括剔除参数值为预设错误值的设备指纹参考信息,则所述预设条件包括剔除信息后所述设备指纹参考信息集合不为空;
若所述预处理操作包括检测所述设备指纹参考信息集合中是否包含预设虚拟机参数特征,则所述预设条件包括检测结果为未检测到包含预设虚拟机参数特征;
若所述预处理操作包括检测所述设备指纹参考信息集合中是否包含预设模拟器参数特征,则所述预设条件包括检测结果为未检测到预设模拟器参数特征;
若所述预处理操作包括从所述设备指纹参考信息集合中查找预设关键信息,则所述预设条件包括确定查找到所述预设关键信息。
18.根据权利要求17所述的装置,其特征在于,预先维护有被动码和设备指纹的对应关系,所述处理单元还被配置为执行:
若确定未查找到所述预设关键信息,采用所述设备指纹参考信息集合中的预设基础参数生成被动码;
从所述被动码和设备指纹的对应关系中查找所述终端设备的被动码;
若未查找到所述终端设备的被动码,则根据所述设备指纹参考信息集合为所述终端设备生成设备指纹;
并根据所述终端设备的被动码和设备指纹更新所述被动码和设备指纹的对应关系。
19.根据权利要求18所述的装置,其特征在于,所述确定单元还被配置为执行:
若分别确定的所述终端设备和各已知设备的相似度均小于预设阈值,则根据所述设备指纹参考信息集合,生成所述终端设备的设备指纹。
20.根据权利要求13所述的装置,其特征在于,所述获取单元具体被配置为执行:
接收所述终端设备发送的密文数据,所述密文数据中包括固定盐值、终端签名和序列化后的设备指纹参考信息集合;
若确定所述固定盐值和预存的固定盐值相同,则利用白盒通用信息摘要算法Hmac,生成序列化后的设备指纹参考信息的第一摘要;
利用白盒对称加密算法,对所述第一摘要进行加密,得到第一密文;
利用白盒Hmac,生成所述第一密文的第二摘要;
选取所述第二摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到服务端签名;
若确定所述服务端签名和所述终端签名相同,则对所述序列化后的设备指纹参考信息执行反序列化操作,得到设备指纹参考信息集合。
21.根据权利要求13所述的装置,其特征在于,所述设备指纹参考信息包括所述终端设备的以下信息中的至少一种:物理层信息、操作系统信息、用户信息。
22.一种终端设备信息处理装置,其特征在于,所述装置包括:
采集单元,被配置为执行采集待处理设备指纹参考信息,所述待处理设备指纹参考信息包括以下中的至少一种:物理层信息、操作系统信息、用户信息;
发送单元,被配置为执行将采集的待处理设备指纹参考信息构成的待处理设备指纹参考信息集合发送给服务器,所述服务器预先存储有设备指纹描述信息的唯一率,该唯一率表示设备指纹描述信息在同类信息的统计样本中有且仅有一个的统计概率,以使所述服务器获取终端设备的设备指纹参考信息集合;针对每个记录有设备指纹的已知设备,确定所述设备指纹参考信息集合中与该已知设备的设备指纹描述信息集合的交集内的指纹描述信息;根据所述交集内的指纹描述信息的各自的唯一率,确定所述终端设备和该已知设备的相似度;所述设备指纹描述信息集合中的信息为预先从所述已知设备的设备指纹参考信息中筛选得到的;若存在至少一个已知设备使得所述终端设备和该已知设备的相似度大于或等于预设阈值,则确定所述终端设备为已知设备。
23.根据权利要求22所述的装置,其特征在于,所述发送单元还被配置为执行:
对所述待处理设备指纹参考信息进行序列化;
利用白盒Hmac,生成序列化后的待处理设备指纹参考信息的第三摘要;
利用白盒对称加密算法,对所述第三摘要进行加密,得到第二密文;
利用白盒Hmac,生成所述第二密文的第四摘要;
选取所述第四摘要的指定部分内容,以及为所述指定部分内容添加预设头部信息,得到终端签名;
将所述序列化后的所述待处理设备指纹参考信息和终端签名以及预存的固定盐值,发送给服务器。
24.一种终端设备信息处理装置,其特征在于,包括:
处理器;
用于存储所述处理器可执行指定指令的存储器;
其中,所述处理器被配置为执行指令,以实现如权利要求1-10或者如权利要求11-12中任一项所述的终端设备信息处理方法。
25.一种存储介质,其特征在于,当所述存储介质中的指令由终端设备信息处理装置的处理执行时,使得终端设备信息处理装置能够执行如权利要求1-10或者执行如权利要求11-12中任一项所述的终端设备信息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910523374.4A CN112100604B (zh) | 2019-06-17 | 2019-06-17 | 终端设备信息处理方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910523374.4A CN112100604B (zh) | 2019-06-17 | 2019-06-17 | 终端设备信息处理方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100604A CN112100604A (zh) | 2020-12-18 |
CN112100604B true CN112100604B (zh) | 2024-04-05 |
Family
ID=73748633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910523374.4A Active CN112100604B (zh) | 2019-06-17 | 2019-06-17 | 终端设备信息处理方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100604B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849802A (zh) * | 2021-06-30 | 2021-12-28 | 五八有限公司 | 一种设备认证方法、装置、电子设备及存储介质 |
CN113626787B (zh) * | 2021-08-27 | 2024-01-30 | 京东方科技集团股份有限公司 | 设备指纹生成方法及相关设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066974A (zh) * | 2017-04-17 | 2017-08-18 | 东南大学 | 一种抗浏览器指纹改变的终端设备识别方法 |
CN107423613A (zh) * | 2017-06-29 | 2017-12-01 | 江苏通付盾信息安全技术有限公司 | 依据相似度确定设备指纹的方法、装置及服务器 |
CN107451461A (zh) * | 2017-06-28 | 2017-12-08 | 江苏通付盾信息安全技术有限公司 | 移动设备的设备指纹处理方法、装置、服务器及存储介质 |
CN109818906A (zh) * | 2017-11-21 | 2019-05-28 | 深圳市腾讯计算机系统有限公司 | 一种设备指纹信息处理方法、装置及服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341342B2 (en) * | 2015-02-05 | 2019-07-02 | Carrier Corporation | Configuration data based fingerprinting for access to a resource |
-
2019
- 2019-06-17 CN CN201910523374.4A patent/CN112100604B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066974A (zh) * | 2017-04-17 | 2017-08-18 | 东南大学 | 一种抗浏览器指纹改变的终端设备识别方法 |
CN107451461A (zh) * | 2017-06-28 | 2017-12-08 | 江苏通付盾信息安全技术有限公司 | 移动设备的设备指纹处理方法、装置、服务器及存储介质 |
CN107423613A (zh) * | 2017-06-29 | 2017-12-01 | 江苏通付盾信息安全技术有限公司 | 依据相似度确定设备指纹的方法、装置及服务器 |
CN109818906A (zh) * | 2017-11-21 | 2019-05-28 | 深圳市腾讯计算机系统有限公司 | 一种设备指纹信息处理方法、装置及服务器 |
Non-Patent Citations (1)
Title |
---|
RSS时间序列相似性度量及应用研究;范海龙;中国优秀硕士学位论文全文数据库 信息科技辑;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112100604A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781433B (zh) | 数据类型的确定方法和装置、存储介质及电子装置 | |
US9510198B2 (en) | Mobile terminal and user identity recognition method | |
KR20190038923A (ko) | 사용자 신원 검증 방법, 장치 및 시스템 | |
CN107222511B (zh) | 恶意软件的检测方法及装置、计算机装置及可读存储介质 | |
CN111343162B (zh) | 系统安全登录方法、装置、介质及电子设备 | |
CN112100604B (zh) | 终端设备信息处理方法、装置 | |
CN110247898B (zh) | 身份验证方法、装置、介质及电子设备 | |
CN108763251B (zh) | 核身产品的个性化推荐方法及装置和电子设备 | |
JP2019504545A (ja) | 携帯電話番号を変更するためのサービス要求を認識する方法及び装置 | |
CN114817984A (zh) | 数据处理方法、装置、系统及设备 | |
CN109995751B (zh) | 上网设备标记方法、装置及存储介质、计算机设备 | |
CN106998336A (zh) | 渠道中的用户检测方法和装置 | |
CN110162957B (zh) | 智能设备的鉴权方法和装置、存储介质、电子装置 | |
CN111340574B (zh) | 风险用户的识别方法、装置和电子设备 | |
CN113515612A (zh) | 一种黑产手机号识别方法及装置 | |
CN111104685B (zh) | 一种二维码的动态更新方法及装置 | |
CN113010785A (zh) | 用户推荐方法及设备 | |
CN109660676B (zh) | 异常对象的识别方法、装置及设备 | |
CN111126503B (zh) | 一种训练样本的生成方法和装置 | |
CN113901417A (zh) | 一种移动设备指纹生成方法及可读存储介质 | |
CN113780580A (zh) | 基于机器学习的数据分析方法、装置、设备及存储介质 | |
CN105404803B (zh) | 用于终端设备的操作响应装置及操作响应方法 | |
CN111989693A (zh) | 生物识别方法及装置 | |
CN110321758B (zh) | 生物特征识别的风险管控方法及装置 | |
CN113709092B (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 |