一种设备指纹生成方法、装置、设备及可读存储介质与流程

文档序号:29356878发布日期:2022-03-23 00:15阅读:141来源:国知局
一种设备指纹生成方法、装置、设备及可读存储介质与流程

1.本发明涉及互联网技术领域,具体而言,涉及一种设备指纹生成方法、装置、设备及可读存储介质。


背景技术:

2.已有的设备指纹生成技术,大多依赖于一种稳定的特征作为主特征,例如imei、mac地址等,同时结合大量普通设备信息进行算法生成,该方法对较稳定的特征依赖较大,但随着移动终端隐私保护法律法规及制度的健全,有些特征数据已经无法轻易获取到,并且技术对特征的选取以及特征权重的分配依赖较大,目前的权重分配方案大多依赖各个系统的专家经验,效果参差不齐。


技术实现要素:

3.本发明的目的在于提供一种设备指纹生成方法、装置、设备及可读存储介质,以改善上述问题。为了实现上述目的,本发明采取的技术方案如下:
4.一方面,本技术提供了一种设备指纹生成方法,所述方法包括:获取客户端随机数发生器生成的客户端标记id和目标设备的设备信息;判断设备指纹计算模块是否可以正常运行,若所述设备指纹计算模块出现异常,则将所述客户端标记id作为目标设备的设备指纹;若所述设备指纹计算模块可以正常运行,则将所述目标设备的设备信息输入到所述设备指纹计算模块进行处理,得到所述目标设备的设备信息对应的灰度图;将所述设备信息对应的灰度图和所述目标设备的设备信息进行结构拼接得到所述目标设备的设备指纹。
5.可选地,所述判断设备指纹计算模块是否可以正常运行,若所述设备指纹计算模块出现异常,则将所述客户端标记id作为目标设备的设备指纹,包括:
6.获取所述设备指纹计算模块的运行状态和网络连接情况,根据所述设备指纹计算模块的运行状态和网络连接情况判断所述设备指纹计算模块是否可以正常运行;
7.若所述设备指纹计算模块出现网络异常和运行异常,通过所述客户端标记id持续对所述目标设备进行跟踪,并将所述客户端标记id作为目标设备的设备指纹。
8.可选地,所述若所述设备指纹计算模块可以正常运行,则将所述目标设备的设备信息输入到所述设备指纹计算模块进行处理,得到所述目标设备的设备信息对应的灰度图,包括:
9.判断所述设备指纹计算模块是否正常运行,若所述设备指纹计算模块正常运行,则提取目标设备的特征数据n个,将每一个所述特征数据映射为f维空间的一个向量,生成n个f维的向量;
10.将每一个所述f维的向量转换为字节数组得到n*m的矩阵,所述n*m的矩阵作为n*m的灰度图。
11.可选地,所述将所述设备信息对应的灰度图和所述目标设备的设备信息进行结构拼接得到所述目标设备的设备指纹,包括:
12.获取所述目标设备的设备指纹拼接结构;
13.将所述灰度图运用均值哈希算法进行处理,得到所述灰度图的哈希平均值;
14.将所述灰度图的哈希平均值与所述目标设备的设备信息按照所述目标设备的设备指纹拼接结构进行结构拼接,得到所述目标设备的设备指纹。
15.可选地,所述将所述设备信息对应的灰度图和所述目标设备的设备信息进行结构拼接得到所述目标设备的设备指纹,还包括:
16.将所述目标设备的设备指纹发送到设备指纹库进行检索;
17.若检索到没有相似的设备,则将所述目标设备的设备指纹进行存储并标记;
18.若检索到有相似的设备,则将所述目标设备的设备指纹进行更新并标记。
19.可选地,所述将所述设备信息对应的灰度图和所述目标设备的设备信息进行结构拼接得到所述目标设备的设备指纹,还包括:
20.对多个设备进行处理,得到多个比特位序列,将所述多个比特位序列运用海明距离算法进行计算,得到多个所述设备之间的相似度;
21.获取第一阈值,所述第一阈值为设备指纹相似度阈值;
22.判断每两个所述设备之间的相似度是否小于相似度阈值,若所述多个所述设备之间的相似度小于相似度阈值,则将所述两个所述设备信息发送到管理人员的通讯设备上,并通知管理人员进行人工判断两个所述设备是否相同。
23.第二方面,本技术实施例提供了一种设备指纹生成装置,所述装置,包括:
24.第一获取单元,用于获取客户端随机数发生器生成的客户端标记id和目标设备的设备信息;
25.第一判断单元,用于判断设备指纹计算模块是否可以正常运行,若所述设备指纹计算模块出现异常,则将所述客户端标记id作为目标设备的设备指纹;
26.第二判断单元,用于若所述设备指纹计算模块可以正常运行,则将所述目标设备的设备信息输入到所述设备指纹计算模块进行处理,得到所述目标设备的设备信息对应的灰度图;
27.第一处理单元,用于将所述设备信息对应的灰度图和所述目标设备的设备信息进行结构拼接得到所述目标设备的设备指纹。
28.可选地,所述装置包括:
29.第一获取子单元,用于获取所述设备指纹计算模块的运行状态和网络连接情况,根据所述设备指纹计算模块的运行状态和网络连接情况判断所述设备指纹计算模块是否可以正常运行;
30.第一判断子单元,用于若所述设备指纹计算模块出现网络异常和运行异常,通过所述客户端标记id持续对所述目标设备进行跟踪,并将所述客户端标记id作为目标设备的设备指纹。
31.可选地,所述装置包括:
32.第二判断子单元,用于判断所述设备指纹计算模块是否正常运行,若所述设备指纹计算模块正常运行,则提取目标设备的特征数据n个,将每一个所述特征数据映射为f维空间的一个向量,生成n个f维的向量;
33.第一处理子单元,用于将每一个所述f维的向量转换为字节数组得到n*m的矩阵,
所述n*m的矩阵作为n*m的灰度图。
34.可选地,所述装置包括:
35.第二获取子单元,用于获取所述目标设备的设备指纹拼接结构;
36.第二处理子单元,用于将所述灰度图运用均值哈希算法进行处理,得到所述灰度图的哈希平均值;
37.第三处理子单元,用于将所述灰度图的哈希平均值与所述目标设备的设备信息按照所述目标设备的设备指纹拼接结构进行结构拼接,得到所述目标设备的设备指纹。
38.可选地,所述装置还包括:
39.第一发送单元,用于将所述目标设备的设备指纹发送到设备指纹库进行检索;
40.第三判断单元,用于若检索到没有相似的设备,则将所述目标设备的设备指纹进行存储并标记;
41.第四判断单元,用于若检索到有相似的设备,则将所述目标设备的设备指纹进行更新并标记。
42.可选地,所述装置还包括:
43.第二处理单元,用于对多个设备进行处理,得到多个比特位序列,将所述多个比特位序列运用海明距离算法进行计算,得到多个所述设备之间的相似度;
44.第二获取单元,用于获取第一阈值,所述第一阈值为设备指纹相似度阈值;
45.第五判断单元,用于判断每两个所述设备之间的相似度是否小于相似度阈值,若所述多个所述设备之间的相似度小于相似度阈值,则将所述两个所述设备信息发送到管理人员的通讯设备上,并通知管理人员进行人工判断两个所述设备是否相同。
46.第三方面,本技术实施例提供了一种设备指纹生成设备,所述设备包括存储器和处理器。存储器用于存储计算机程序;处理器用于执行所述计算机程序时实现上述设备指纹生成方法的步骤。
47.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述设备指纹生成方法的步骤。
48.本发明的有益效果为:
49.1、本发明方法通过采集非敏感设备数据,结合设备信息,在未具备足够专家经验的前提下,提高了设备指纹的有效性和稳定性。
50.2、本发明方法使用针对设备信息量较少的短文本场景进行了优化,结合预生成的数据,能有效的获取设备指纹,提高设备指纹的检索能力。
51.本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
52.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
53.图1为本发明实施例中所述的一种设备指纹生成方法流程示意图;
54.图2为本发明实施例中所述的一种设备指纹生成装置结构示意图;
55.图3是本发明实施例中所述的一种设备指纹生成设备结构示意图。
具体实施方式
56.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
57.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
58.如图1所示,本实施例提供了一种设备指纹生成方法,其所述方法包括步骤s1、步骤s2、步骤s3和步骤s4。
59.步骤s1、获取客户端随机数发生器生成的客户端标记id和目标设备的设备信息;
60.步骤s2、判断设备指纹计算模块是否可以正常运行,若所述设备指纹计算模块出现异常,则将所述客户端标记id作为目标设备的设备指纹;
61.步骤s3、若所述设备指纹计算模块可以正常运行,则将所述目标设备的设备信息输入到所述设备指纹计算模块进行处理,得到所述目标设备的设备信息对应的灰度图;
62.步骤s4、将所述设备信息对应的灰度图和所述目标设备的设备信息进行结构拼接得到所述目标设备的设备指纹。
63.可以理解的是本发明是为了通过采集非敏感设备数据,结合设备信息,在未具备足够专家经验的前提下,提高了设备指纹的有效性和稳定性。
64.可以理解的是本发明是通过处理设备信息,然后通过对设备信息对应的灰度图和所述目标设备的设备信息进行结构拼接,进而得到设备指纹。
65.在本公开的一种具体实施方式中,所述步骤s2包括步骤s21和步骤s22。
66.步骤s21、获取所述设备指纹计算模块的运行状态和网络连接情况,根据所述设备指纹计算模块的运行状态和网络连接情况判断所述设备指纹计算模块是否可以正常运行;
67.步骤s22、若所述设备指纹计算模块出现网络异常和运行异常,通过所述客户端标记id持续对所述目标设备进行跟踪,并将所述客户端标记id作为目标设备的设备指纹。
68.可以理解的本步骤是为了对出现应急状况的一个预处理,对设备出现异常时实行备用方案,通过所述客户端标记id持续对所述目标设备进行跟踪,进而将所述客户端标记id作为目标设备的设备指纹。
69.在本公开的一种具体实施方式中,所述步骤s3包括步骤s31和步骤s32。
70.步骤s31、判断所述设备指纹计算模块是否正常运行,若所述设备指纹计算模块正常运行,则提取目标设备的特征数据n个,将每一个所述特征数据映射为f维空间的一个向
量,生成n个f维的向量;
71.步骤s32、将每一个所述f维的向量转换为字节数组得到n*m的矩阵,所述n*m的矩阵作为n*m的灰度图。
72.可以理解的是本步骤是为了对设备指纹进行处理,提取目标设备的特征数据,将多个特征数据进行向量转换,进而建立灰度图,提高设备指纹的稳定性和有效性。
73.在本公开的一种具体实施方式中,所述步骤s4包括步骤s41、步骤s42和步骤s43。
74.步骤s41、获取所述目标设备的设备指纹拼接结构;
75.步骤s42、将所述灰度图运用均值哈希算法进行处理,得到所述灰度图的哈希平均值;
76.步骤s43、将所述灰度图的哈希平均值与所述目标设备的设备信息按照所述目标设备的设备指纹拼接结构进行结构拼接,得到所述目标设备的设备指纹。
77.可以理解的是本步骤是为了通过对所述设备指纹进行处理得到设备指纹拼接结构,然后通过均值哈希算法对灰度图进行计算,得到灰度图的哈希平均值和设备信息中的特征数据进行拼接,进而得到设备指纹。
78.在本公开的一种具体实施方式中,所述步骤s4之后还包括步骤s5、步骤s6和步骤s7。
79.步骤s5、将所述目标设备的设备指纹发送到设备指纹库进行检索;
80.步骤s6、若检索到没有相似的设备,则将所述目标设备的设备指纹进行存储并标记;
81.步骤s7、若检索到有相似的设备,则将所述目标设备的设备指纹进行更新并标记。
82.可以理解的是本步骤是通过对设备指纹检索,判断指纹库中是否具有相同的指纹,根据检索结果来对所述设备指纹进行存储或更新。
83.在本公开的一种具体实施方式中,所述步骤s4之后还包括步骤s8、步骤s9和步骤s10。
84.步骤s8、对多个设备进行处理,得到多个比特位序列,将所述多个比特位序列运用海明距离算法进行计算,得到多个所述设备之间的相似度;
85.步骤s9、获取第一阈值,所述第一阈值为设备指纹相似度阈值;
86.步骤s10、判断每两个所述设备之间的相似度是否小于相似度阈值,若所述多个所述设备之间的相似度小于相似度阈值,则将所述两个所述设备信息发送到管理人员的通讯设备上,并通知管理人员进行人工判断两个所述设备是否相同。
87.可以理解的是本步骤是通过均值哈希算法对多个设备的设备信息进行处理,得到多个比特位序列,并对该设备进行标记,然后运用海明距离算法进行计算,得到多个所述设备之间的相似度,然后判断所述相似度是否小于第一阈值,由于相似度越小,两个所述设备相同的概率就越大,然后再人工进行确认。
88.实施例2
89.如图2所示,本实施例提供了一种设备指纹生成装置,所述装置包括第一获取单元701,第一判断单元702,第二判断单元703和第一处理单元704。
90.第一获取单元701,用于获取客户端随机数发生器生成的客户端标记id和目标设备的设备信息;
91.第一判断单元702,用于判断设备指纹计算模块是否可以正常运行,若所述设备指纹计算模块出现异常,则将所述客户端标记id作为目标设备的设备指纹;
92.第二判断单元703,用于若所述设备指纹计算模块可以正常运行,则将所述目标设备的设备信息输入到所述设备指纹计算模块进行处理,得到所述目标设备的设备信息对应的灰度图;
93.第一处理单元704,用于将所述设备信息对应的灰度图和所述目标设备的设备信息进行结构拼接得到所述目标设备的设备指纹。
94.在本公开的一种具体实施方式中,所述第一判断单元702包括第一获取子单元7021和第一判断子单元7022。
95.第一获取子单元7021,用于获取所述设备指纹计算模块的运行状态和网络连接情况,根据所述设备指纹计算模块的运行状态和网络连接情况判断所述设备指纹计算模块是否可以正常运行;
96.第一判断子单元7022,用于若所述设备指纹计算模块出现网络异常和运行异常,通过所述客户端标记id持续对所述目标设备进行跟踪,并将所述客户端标记id作为目标设备的设备指纹。
97.在本公开的一种具体实施方式中,所述第二判断单元703包括第二判断子单元7031和第一处理子单元7032。
98.第二判断子单元7031,用于判断所述设备指纹计算模块是否正常运行,若所述设备指纹计算模块正常运行,则提取目标设备的特征数据n个,将每一个所述特征数据映射为f维空间的一个向量,生成n个f维的向量;
99.第一处理子单元7032,用于将每一个所述f维的向量转换为字节数组得到n*m的矩阵,所述n*m的矩阵作为n*m的灰度图。
100.在本公开的一种具体实施方式中,所述第一处理单元704包括第二获取子单元7041、第二处理子单元7042和第三处理子单元7043。
101.第二获取子单元7041,用于获取所述目标设备的设备指纹拼接结构;
102.第二处理子单元7042,用于将所述灰度图运用均值哈希算法进行处理,得到所述灰度图的哈希平均值;
103.第三处理子单元7043,用于将所述灰度图的哈希平均值与所述目标设备的设备信息按照所述目标设备的设备指纹拼接结构进行结构拼接,得到所述目标设备的设备指纹。
104.在本公开的一种具体实施方式中,所述装置还包括第一发送单元705、第三判断单元706和第四判断单元707。
105.第一发送单元705,用于将所述目标设备的设备指纹发送到设备指纹库进行检索;
106.第三判断单元706,用于若检索到没有相似的设备,则将所述目标设备的设备指纹进行存储并标记;
107.第四判断单元707,用于若检索到有相似的设备,则将所述目标设备的设备指纹进行更新并标记。
108.在本公开的一种具体实施方式中,所述装置还包括第二处理单元708、第二获取单元709和第五判断单元710。
109.第二处理单元708,用于对多个设备进行处理,得到多个比特位序列,将所述多个
比特位序列运用海明距离算法进行计算,得到多个所述设备之间的相似度;
110.第二获取单元709,用于获取第一阈值,所述第一阈值为设备指纹相似度阈值;
111.第五判断单元710,用于判断每两个所述设备之间的相似度是否小于相似度阈值,若所述多个所述设备之间的相似度小于相似度阈值,则将所述两个所述设备信息发送到管理人员的通讯设备上,并通知管理人员进行人工判断两个所述设备是否相同。
112.需要说明的是,关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
113.实施例3
114.相应于上面的方法实施例,本公开实施例还提供了一种设备指纹生成设备,下文描述的一种设备指纹生成设备与上文描述的一种设备指纹生成方法可相互对应参照:
115.图3是根据一示例性实施例示出的一种设备指纹生成设备800的框图。如图3所示,该设备指纹生成设备800可以包括:处理器801,存储器802。该设备指纹生成设备800还可以包括多媒体组件803,输入/输出(i/o)接口804,以及通信组件805中的一者或多者。
116.其中,处理器801用于控制该设备指纹生成设备800的整体操作,以完成上述的设备指纹生成方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该设备指纹生成设备800的操作,这些数据例如可以包括用于在该设备指纹生成设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该设备指纹生成设备800与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near fieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件805可以包括:wi-fi模块,蓝牙模块,nfc模块。
117.在一示例性实施例中,设备指纹生成设备800可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digitalsignal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的一种设备指纹生成方法。
118.在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的设备指纹生成方法的步骤。例如,该计算机可读存储
介质可以为上述包括程序指令的存储器802,上述程序指令可由设备指纹生成设备800的处理器801执行以完成上述的设备指纹生成方法。
119.实施例4
120.相应于上面的方法实施例,本公开实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种设备指纹生成方法可相互对应参照。
121.一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的设备指纹生成方法的步骤。
122.该可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
123.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
124.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1