本发明提出了基于自定义盐的哈希值作为硬件指纹源的方法和系统,属于设备安全。
背景技术:
1、uuid可以被用来识别一个设备,如果一个网站或应用程序可以收集到多个带有相同uuid的请求,就可以推断出这些请求都来自同一个设备。但是,单纯使用uuid作为指纹源存在涉及到隐私问题,易导致隐私泄露的问题发生。
技术实现思路
1、本发明提供了基于自定义盐的哈希值作为硬件指纹源的方法和系统,用以解决现有技术中利用uuid进行设备识别,易导致隐私泄露的问题:
2、基于自定义盐的哈希值作为硬件指纹源的方法,所述方法包括:
3、针对每一个硬件设备利用uuid生成算法,生成一个唯一的uuid作为每个设备的唯一标识符;其中,所述uuid为一个128位的标识符,表示为32个16进制数字组成的字符串;
4、利用随机数方式生成一个自定义的盐值;其中,所述盐值为一个随机的字符串或二进制数据;
5、将所述唯一标识符和自定义的盐值拼接,生成一个新的字符串;
6、使用哈希算法对所述新的字符串进行哈希计算,生成固定长度的哈希值,并将所述哈希值作为所述硬件设备的唯一对应指纹。
7、进一步地,针对每一个硬件设备利用uuid生成算法,生成一个唯一的uuid作为每个设备的唯一标识符,包括:
8、对硬件设备进行扫描获取硬件设备的mac地址和当前时间戳;
9、利用所述硬件设备的mac地址和当前时间戳结合uuid生成算法生成一个uuid;其中,所述uuid与硬件设备一一对应;
10、将生成的uuid作为其对应硬件设备的唯一标识符,建立所述唯一标识符与硬件设备之间的关联关系;
11、将所述uuid存储至所述硬件设备的数据库和服务器中;
12、将所述唯一标识符与硬件设备之间的关联关系存储至数据库和服务器中。
13、进一步地,利用随机数方式生成一个自定义的盐值;其中,所述盐值为一个随机的字符串或二进制数据,包括:
14、根据盐值的设置要求确,确定所需的盐值长度;其中,所述盐值长度以字节为单位;
15、根据选择的随机数生成算法,调用相应的随机数生成函数;
16、利用所述随机数生成函数生成与所述盐值长度对应的随机数;
17、按照所述盐值的格式要求将所数随机数转换成字符串或二进制数据。
18、进一步地,将所述唯一标识符和自定义的盐值拼接,生成一个新的字符串,包括:
19、从数据库中提取拼接规则;
20、按照所述拼接规则将所述唯一标识符和自定义的颜值进行拼接,生成一个新的字符串;
21、其中,所述拼接规则包括如下任一规则:
22、直接拼接:将唯一标识符和盐值直接连接在一起,形成一个新的字符串;
23、分隔符拼接:在唯一标识符和盐值之间添加一个或多个特定的分隔符,其中,所述分隔符包括逗号、冒号、短横线和字母;
24、哈希拼接:将唯一标识符和盐值进行哈希计算,并将哈希结果拼接在一起。
25、基于自定义盐的哈希值作为硬件指纹源的系统,所述系统包括:
26、硬件设备uuid生成模块,用于针对每一个硬件设备利用uuid生成算法,生成一个唯一的uuid作为每个设备的唯一标识符;其中,所述uuid为一个128位的标识符,表示为32个16进制数字组成的字符串;
27、自定义盐值生成模块,用于利用随机数方式生成一个自定义的盐值;其中,所述盐值为一个随机的字符串或二进制数据;
28、标识符和盐值拼接模块,用于将所述唯一标识符和自定义的盐值拼接,生成一个新的字符串;
29、唯一对应指纹获取模块,用于使用哈希算法对所述新的字符串进行哈希计算,生成固定长度的哈希值,并将所述哈希值作为所述硬件设备的唯一对应指纹。
30、进一步地,所述硬件设备uuid生成模块包括:
31、硬件设备信息获取模块,用于对硬件设备进行扫描获取硬件设备的mac地址和当前时间戳;
32、uuid生成模块,用于利用所述硬件设备的mac地址和当前时间戳结合uuid生成算法生成一个uuid;其中,所述uuid与硬件设备一一对应;
33、唯一标识符确定模块,用于将生成的uuid作为其对应硬件设备的唯一标识符,建立所述唯一标识符与硬件设备之间的关联关系;
34、uuid数据存储模块,用于将所述uuid存储至所述硬件设备的数据库和服务器中;
35、关联关系存储模块,用于将所述唯一标识符与硬件设备之间的关联关系存储至数据库和服务器中。
36、进一步地,所述自定义盐值生成模块包括:
37、盐值长度获取模块,用于根据盐值的设置要求确,确定所需的盐值长度;其中,所述盐值长度以字节为单位;
38、随机数生成函数调取模块,用于根据选择的随机数生成算法,调用相应的随机数生成函数;
39、随机数生成模块,用于利用所述随机数生成函数生成与所述盐值长度对应的随机数;
40、格式转化模块,用于按照所述盐值的格式要求将所数随机数转换成字符串或二进制数据。
41、进一步地,所述标识符和盐值拼接模块包括:
42、拼接规则提取模块,用于从数据库中提取拼接规则;
43、拼接模块,用于按照所述拼接规则将所述唯一标识符和自定义的颜值进行拼接,生成一个新的字符串;
44、其中,所述拼接规则包括如下任一规则:
45、直接拼接:将唯一标识符和盐值直接连接在一起,形成一个新的字符串;
46、分隔符拼接:在唯一标识符和盐值之间添加一个或多个特定的分隔符,其中,所述分隔符包括逗号、冒号、短横线和字母;
47、哈希拼接:将唯一标识符和盐值进行哈希计算,并将哈希结果拼接在一起。
48、本发明有益效果:
49、本发明提出的基于自定义盐的哈希值作为硬件指纹源的方法和系统通过uuid追加自定义盐值,再哈希之后作为硬件指纹。硬件指纹是基于设备中已有的uuid使用自己的算法来生成的,他人无法直接获取并利用。同时追加盐值可增加他人伪造的的难度,使用哈希计算掩盖指纹源。同时,实现对硬件设备的唯一标识和指纹生成,为设备管理和识别提供了可靠的基础。同时,哈希算法的应用可以确保指纹的一致性和固定长度,方便在系统中进行存储和比较。这样的设备指纹生成方法可以应用于各种场景,例如设备认证、设备追踪、设备防伪等,提高系统的安全性和管理效率。
1.基于自定义盐的哈希值作为硬件指纹源的方法,其特征在于,所述方法包括:
2.根据权利要求1所述自定义盐的哈希值作为硬件指纹源的方法,其特征在于,针对每一个硬件设备利用uuid生成算法,生成一个唯一的uuid作为每个设备的唯一标识符,包括:
3.根据权利要求1所述自定义盐的哈希值作为硬件指纹源的方法,其特征在于,利用随机数方式生成一个自定义的盐值;其中,所述盐值为一个随机的字符串或二进制数据,包括:
4.根据权利要求1所述自定义盐的哈希值作为硬件指纹源的方法,其特征在于,将所述唯一标识符和自定义的盐值拼接,生成一个新的字符串,包括:
5.基于自定义盐的哈希值作为硬件指纹源的系统,其特征在于,所述系统包括:
6.根据权利要求5所述自定义盐的哈希值作为硬件指纹源的系统,其特征在于,所述硬件设备uuid生成模块包括:
7.根据权利要求5所述自定义盐的哈希值作为硬件指纹源的系统,其特征在于,所述自定义盐值生成模块包括:
8.根据权利要求5所述自定义盐的哈希值作为硬件指纹源的系统,其特征在于,所述标识符和盐值拼接模块包括: