设备指纹的生成方法、装置、设备及介质与流程

未命名 09-11 阅读:86 评论:0


1.本技术属于信息安全技术领域,特别是涉及一种设备指纹的生成方法、装置、设备及介质。


背景技术:

2.随着网络技术的蓬勃发展,各行各业不得不面临着被黑灰产盗刷和薅羊毛。例如应用服务提供方为了促进用户的增长,公司层面会给新用户发放新客优惠券,如果没有风控的介入这个会成为黑灰产的突破口,通过各种技术手段来大量薅羊毛,以获得巨额的非法收入。
3.然而风控场景中有一个非常重要的就是如何识别一个设备,通常应用服务提供方会向每个用户设备发放设备指纹来识别用户设备的身份,但是由于设备指纹暴露在外,很容易被非法人员获取用于黑产中,难以保证服务平台的信息安全。


技术实现要素:

4.有鉴于此,本技术提供一种设备指纹的生成方法、装置、设备及介质,以解决相关技术中的设备指纹难以保证信息安全的技术问题。
5.本技术提供一种设备指纹的生成方法,包括:
6.响应于对目标设备的设备指纹生成请求,为所述目标设备随机生成第一标识信息;
7.向所述第一标识信息添加时间戳属性,得到第二标识信息;
8.将所述目标设备的平台版本信息与所述第二标识信息进行拼接,得到第三标识信息;
9.利用所述平台版本信息相对应的密钥对所述第三标识信息进行加密,得到第四标识信息;
10.将所述第四标识信息和所述第三标识信息进行拼接,得到所述目标设备的设备指纹;
11.将所述设备指纹发送至所述目标设备,所述设备指纹用于对所述目标设备的身份进行验证。
12.可选地,所述向所述第一标识信息添加时间戳属性,得到第二标识信息,包括:
13.计算当前时间点和基准时间点之间的第一时间差值;
14.对所述第一时间差值执行高位调整操作和补齐位数操作,得到第二时间差值;
15.对所述第二时间差值进行逆序处理,得到所述时间戳属性;
16.向所述第一标识信息中的目标标记位添加所述时间戳属性,得到第二标识信息。
17.可选地,在所述向所述第一标识信息中的目标标记位添加所述时间戳属性,得到第二标识信息之前,所述方法还包括:
18.在标记位时序表中查询与当前时间点相匹配的标记位作为目标标记位,所述标记
位时序表是标记位随时间点变化的轮换规则。
19.可选地,所述对所述第一时间差值执行高位调整操作和补齐位数操作,得到第二时间差值,包括:
20.利用所述第一时间差值的轮回数取模,得到年轮;
21.在所述年轮大于0时,利用预设拼接值补齐所述第一时间差值的位数至目标位数,得到第二时间差值,或者,在所述年轮小于或等于0时,对所述第一时间差值添加0补齐位数至目标位数,得到第二时间差值;
22.给所述第二时间差值的最高位加上进位数。
23.可选地,所述对所述第二时间差值进行逆序处理,得到所述时间戳属性,包括:
24.将所述第二时间差值进行逆向排序,得到第三时间差值;
25.对所述第三时间差值的位数进行随机混淆处理,并将混淆处理后的第三时间差值的位数补齐到预设位数,得到整数类型的第四时间差值;
26.将所述第四时间差值转换为目标进制,并将转换后的第四时间差值进行长度补齐,得到第五时间差值;
27.将所述第五时间差值中的字符与未被交换过的相邻字符进行交换,得到时间戳属性。
28.可选地,在所述利用所述平台版本信息相对应的密钥对所述第三标识信息进行加密,得到第四标识信息之前,所述方法还包括:
29.计算所述平台版本信息的哈希运算消息认证码,作为所述平台版本信息相对应的密钥。
30.可选地,所述方法还包括:
31.接收目标设备发送的访问请求,所述访问请求至少包括:所述设备指纹;
32.对所述设备指纹进行解析,得到所述第三标识信息和所述第四标识信息;
33.利用所述密钥对所述第四标识信息进行解密,得到所述第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息;
34.在所述第三标识信息中携带的时间戳属性、平台版本信息、第一标识信息,与所述第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息比对一致,且所述时间戳属性与当前时间点之间的时间间隔未超过时间间隔阈值的情况下,确认所述设备指纹验证通过。
35.本技术提供一种设备指纹的生成装置,包括:
36.输入模块,用于响应于对目标设备的设备指纹生成请求,为所述目标设备随机生成第一标识信息;
37.处理模块,用于向所述第一标识信息添加时间戳属性,得到第二标识信息;
38.将所述目标设备的平台版本信息与所述第二标识信息进行拼接,得到第三标识信息;
39.利用所述平台版本信息相对应的密钥对所述第三标识信息进行加密,得到第四标识信息;
40.输出模块,用于将所述第四标识信息和所述第三标识信息进行拼接,得到所述目标设备的设备指纹;
41.将所述设备指纹发送至所述目标设备,所述设备指纹用于对所述目标设备的身份进行验证。
42.可选地,所述处理模块,还用于:
43.计算当前时间点和基准时间点之间的第一时间差值;
44.对所述第一时间差值执行高位调整操作和补齐位数操作,得到第二时间差值;
45.对所述第二时间差值进行逆序处理,得到所述时间戳属性;
46.向所述第一标识信息中的目标标记位添加所述时间戳属性,得到第二标识信息。
47.可选地,所述处理模块,还用于:
48.在标记位时序表中查询与当前时间点相匹配的标记位作为目标标记位,所述标记位时序表是标记位随时间点变化的轮换规则。
49.可选地,所述处理模块,还用于:
50.利用所述第一时间差值的轮回数取模,得到年轮;
51.在所述年轮大于0时,利用预设拼接值补齐所述第一时间差值的位数至目标位数,得到第二时间差值,或者,在所述年轮小于或等于0时,对所述第一时间差值添加0补齐位数至目标位数,得到第二时间差值;
52.给所述第二时间差值的最高位加上进位数。
53.可选地,所述处理模块,还用于:
54.将所述第二时间差值进行逆向排序,得到第三时间差值;
55.对所述第三时间差值的位数进行随机混淆处理,并将混淆处理后的第三时间差值的位数补齐到预设位数,得到整数类型的第四时间差值;
56.将所述第四时间差值转换为目标进制,并将转换后的第四时间差值进行长度补齐,得到第五时间差值;
57.将所述第五时间差值中的字符与未被交换过的相邻字符进行交换,得到时间戳属性。
58.可选地,所述处理模块,还用于:
59.计算所述平台版本信息的哈希运算消息认证码,作为所述平台版本信息相对应的密钥。
60.可选地,所述装置还包括:解析模块,用于:
61.接收目标设备发送的访问请求,所述访问请求至少包括:所述设备指纹;
62.对所述设备指纹进行解析,得到所述第三标识信息和所述第四标识信息;
63.利用所述密钥对所述第四标识信息进行解密,得到所述第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息;
64.在所述第三标识信息中携带的时间戳属性、平台版本信息、第一标识信息,与所述第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息比对一致,且所述时间戳属性与当前时间点之间的时间间隔未超过时间间隔阈值的情况下,确认所述设备指纹验证通过。
65.本技术提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的设备指纹的生成方法。
66.本技术提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的设备指纹的生成方法。
67.针对相关技术,本技术具备如下优点:
68.本技术提供的一种设备指纹的生成方法、装置、设备及介质,通过利用目标设备的平台版本信息和时间戳属性为目标设备生成明文的标识信息,使得设备指纹可以具有时效性和反映设备特点,再利用平台版本信息所对应的密钥对标识信息进行加密,然后将明文和加密的标识信息进行拼接来作为设备指纹,使得暴露在外的设备标识中可携带密文和明文的标识信息,即使设备指纹中的明文信息被篡改,也可通过对设备指纹中的密文信息进行解密来识别设备身份,避免了设备指纹被篡改和伪造的风险,提高了设备指纹的安全性。
69.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
70.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
71.图1是本技术实施例提供的一种设备指纹的生成方法的步骤流程图;
72.图2是本技术实施例提供的另一种设备指纹的生成方法的步骤流程图之一;
73.图3是本技术实施例提供的另一种设备指纹的生成方法的步骤流程图之二;
74.图4是本技术实施例提供的另一种设备指纹的生成方法的步骤流程图之三;
75.图5是本技术实施例提供的一种设备指纹的生成方法的逻辑流程图;
76.图6是本技术实施例提供的一种设备指纹的解析方法的步骤流程图;
77.图7是本技术实施例提供的一种设备指纹的生成装置的结构框图;
78.图8是本技术实施例提供的一种电子设备的结构框图。
具体实施方式
79.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本技术,并且能够将本技术的范围完整地传达给本领域的技术人员。
80.图1是本技术实施例提供的一种设备指纹的生成方法的步骤流程图,包括:
81.步骤101,响应于对目标设备的设备指纹生成请求,为所述目标设备随机生成第一标识信息。
82.需要说明的是,目标设备是指安装有目标应用程序的电子设备,目标应用程序可以是例如视频播放应用、音乐播放应用程序、购物应用程序等等,对于不同的目标设备,系统将新安装该目标应用程序的目标设备,或者是重新安装该目标应用程序的目标设备生成唯一的设备指纹,以对该目标设备的身份进行标识。
83.在本技术实施例中,目标设备在安装目标应用程序之后,在首次请求接入目标应
用程序的服务器时,服务器将首先为该目标设备随机生成第一标识信息,该第一标识信息可以是uuid(universally unique identifier,通用唯一识别码),该uuid是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分,其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定,因此每个所创建的uuid均与其他uuid不同。
84.在生成目标设备的第一标识信息之后,系统将去除第一标识信息中例如
“‑”
、“~”等非法字符串,以规范第一标识信息中的字符格式,非法字符串的定义可以是根据不同系统的字符串使用规则进行定义,也就是说若系统中的字符串使用规则中定义某些字符串为非法字符,或者是对某些字符串未进行定义时,均可作为非法字符串,具体可以根据实际需求设置,此处不做限定。
85.步骤102,向所述第一标识信息添加时间戳属性,得到第二标识信息。
86.在本技术实施例中,为了给所生成的设备指纹添加时间属性,也就是让设备指纹具有时效性,避免设备指纹重复使用的弊端出现,系统将对之前所生成的第一标识信息以字符为单位进行拆解,然后在拆解后的第一标识信息中的某个特定字符之后或之前的特定位数,或者是任一字符相邻的位数位置,添加时间戳属性,该时间戳属性是用于标识所生成设备指纹的发放时间以及有效时间等等与时间相关的信息。值得说明的是,时间戳属性的添加位置可以是在第一标识信息中的特定位数,例如第2位、第10、第11位等等,从而使得系统在后续解析过程中直接通过提取特定位数的字符串即可获得时间戳属性;当然还可以是随机位数,但是随机位数需要系统对所添加的随机位数进行记录,以方便后续解析过程中定位时间戳属性的位置。
87.进一步的,该第二标识信息中还可以添加有平台设备标识,该平台设备标识为应用程序为不同设备发放的唯一标识,与所生成的设备指纹不同的是,其不包含特定信息,仅是用于识别设备使用,具体可分为国内平台设备标识、国外平台设备标识以及一些缺失维度的平台设备标识。
88.本技术实施例通过将平台设备标识添加到设备指纹中,可以使得系统在解析过程中快速初步识别是哪个设备,然后再对设备身份进一步进行验证,提高设备身份识别的效率。
89.步骤103,将所述目标设备的平台版本信息与所述第二标识信息进行拼接,得到第三标识信息。
90.在本技术实施例中,平台版本信息可以是目标设备所安装应用程序的设备类型、设备型号、应用程序版本、版本类型、运行应用程序的平台类型等等,该设备类型可以是指电脑、手机、平板电脑等,该设备型号可以是设备的设备厂家型号、版本类型主要是用于区分虚拟机和本机,平台类型则是指浏览器平台、设备平台、小程序平台等等,具体可以根据实际需求设置,此处不做限定。
91.进一步的,通过将平台版本信息和第二标识信息进行拼接来得到第三标识信息,可以使得所生成的指纹信息可以反映目标设备的平台版本信息,以便后续依据该设备指纹与目标设备的平台版本信息进行核对,确保设备指纹不会被其他设备违规使用。
92.步骤104,利用所述平台版本信息相对应的密钥对所述第三标识信息进行加密,得到第四标识信息。
93.在本技术实施例中,系统中可以预先存储有不同平台版本信息相对应的密钥以对第三标识信息进一步加密来保证所生成设备指纹的信息安全,当然系统还可以在生成设备指纹时,依据目标设备的平台版本信息进行计算来制作该平台版本信息相对应的密钥,再对第三标识信息进行加密,而系统将对所生成的密钥进行存储,以供后续解析设备指纹时使用。
94.步骤105,将所述第四标识信息和所述第三标识信息进行拼接,得到所述目标设备的设备指纹。
95.在本技术实施例中,系统进一步将所生成的第三标识信息和第四标识信息进行拼接,来作为目标设备的设备指纹。从而使得设备指纹之中可以携带未加密的第三标识信息,和加密的第四标识信息,这样即使设备指纹被非法获取,由于第四标识信息被加密,因此仅可对明文的第三标识信息进行篡改和伪造,无法篡改和伪造设备指纹中的第四标识信息。
96.步骤106,将所述设备指纹发送至所述目标设备,所述设备指纹用于对所述目标设备的身份进行验证。
97.在本技术实施例中,系统将设备指纹发送给目标设备,以供目标设备需要登录和使用应用程序提供的服务功能时,通过对目标设备发送的服务请求中携带的设备指纹来验证身份使用。而对于提供功能服务的服务端而言,可以通过所持有的密钥对所接收到的设备指纹进行反解析,将设备指纹所携带的明文第三标识信息,与解密后的第四标识信息进行比对,来验证目标设备的身份,即使设备指纹的明文部分的第三标识信息被恶意篡改,也可通过对解密第四标识信息来准确识别出目标设备的身份。
98.本技术实施例通过利用目标设备的平台版本信息和时间戳属性为目标设备生成明文的标识信息,使得设备指纹可以具有时效性和反映设备特点,再利用平台版本信息所对应的密钥对标识信息进行加密,然后将明文和加密的标识信息进行拼接来作为设备指纹,使得暴露在外的设备标识中可携带密文和明文的标识信息,即使设备指纹中的明文信息被篡改,也可通过对设备指纹中的密文信息进行解密来识别设备身份,避免了设备指纹被篡改和伪造的风险,提高了设备指纹的安全性。
99.可选地,参照图2,所述步骤102,包括:
100.步骤1021,计算当前时间点和基准时间点之间的第一时间差值。
101.步骤1022,对所述第一时间差值执行高位调整操作和补齐位数操作,得到第二时间差值。
102.步骤1023,对所述第二时间差值进行逆序处理,得到所述时间戳属性。
103.步骤1024,向所述第一标识信息中的目标标记位添加所述时间戳属性,得到第二标识信息。
104.在本技术实施例中,当前时间点是指生成设备指纹时的时间点,基准时间点是系统中预先设定的固定时间点,通常早于当前时间点,例如2015年4月22日、2016年5月21日等等,该基准时间点可以按照特定时间周期进行替换,例如10年一个周期,每10年替换一次基准时间点,也可以是5年或者是20年等等,具体可以根据实际需求设置,此处不做限定。
105.具体的,系统首先计算当前时间点和基准时间点之间的差值作为第一时间差值,然后对第一时间差值执行高位调整操作和补齐位数操作,以保证所得到的第二时间差值的位数统一规范。之后通过对第二时间差值进行逆序处理,打乱第二时间差值的排列顺序,从
而提高所得到时间戳属性的安全性,避免第二时间差值被非法获取后暴露时间戳属性的真实信息。
106.可选地,在所述步骤1024之前,所述方法还包括:在标记位时序表中查询与当前时间点相匹配的标记位作为目标标记位,所述标记位时序表是标记位随时间点变化的轮换规则。
107.在本技术实施例中,系统可以针对不同时间设置不同的标记位,并将不同时间点与标记位之间的映射关系进行存储。该目标标识位则是当前时间点下需要向第一标识信息中添加时间戳属性的位置,通过设置轮换目标标记位的标记位时序表,在每次需要添加时间戳属性时通过查询即可得到所需添加时间戳属性的目标标记位。具体的,时序表中的轮换规则可以是每隔例如1小时、2小时等特定时间周期,从预先设置好顺序的标志位中循环提取目标标志位,例如存在10个标记位,当前时间点提取第1个标记位作为目标标记位,而在下一个时间周期则提取第2个标记位作为目标标记位,依次类推,在提取到第10个标记位时,则下一个时间周期中循环到将第1个标记位作为目标标记位,从而实现不同时间周期中目标标记位的替换。
108.本技术实施例通过针对不同的当前时间点设置不同的目标标记位来确定添加时间戳属性的目标标记位,避免了固定位置容易被非法获取的风险,提高了所生成设备指纹的信息安全性。
109.可选地,参照图3,所述步骤1022,包括:
110.步骤10221,利用所述第一时间差值的轮回数取模,得到年轮。
111.步骤10222,在所述年轮大于0时,利用预设拼接值补齐所述第一时间差值的位数至目标位数,得到第二时间差值;或者,在所述年轮小于或等于0时,对所述第一时间差值添加0补齐位数至目标位数,得到第二时间差值。
112.步骤10223,给所述第二时间差值的最高位加上进位数。
113.在本技术实施例中,通过对第一时间差取轮回数,即基于该第一时间差值,在时间轮上取与该第一时间差值相匹配的轮回数,其中时间轮是按照预先设定的时间周期设置的取值规则,取值规则中设置有不同时间点在其中取值的计算方式,例如时间轮包含1~365的时间长度,则若时间点为1则给1加10000作为1的轮回数,取2则给2加20000作为2的轮回数,当然此处仅是示例性描述,计算方式和时间轮的时间长度均可根据实际需求设置,此处不做限定。
114.然后利用轮回数除以时间轮取余数,也就是取模运算,来得到第一时间差的年轮,时间轮可以使10年一个周期,也可以是20年一个周期。若年轮大于0,则说明第一时间差值的余数值偏大,因此可通过例如1、2、3等预设拼接值添加至第一时间差值中,将第一时间差值的位数补齐到目标位数,若年轮小于或等于0,则说明第一时间差值的余数值偏小,则可通过在其前面添加0的方式将第一时间差值的位数补齐到目标位数,从而将第二时间差值的位数均补齐到目标位数,保证第二时间差值的规范性。其中,目标位数与时间轮的规格有关,例如时间轮是10年,以天为单位,则一个时间轮存在3650天,则目标位数是4位,若时间轮是20年,同理可知目标时间位数是7300天,则目标位数也是4位,若时间轮是30年,同理可视目标时间位置是10950天,则目标位数是5位,当然此处只是示例性描述,具体可以根据实际需求设置目标位数,此处不做限定。
115.最后,在对第二时间差值调整至统一的目标位数之后,再向第二时间差值的最高位数的数值加上第二时间差值的进位数,进位数是指规定的数学加法中本位数满额时向前一位数进一的数,例如在十进位的算法中,个位满十,在十位中加一,进位数为十。从而即可保证第二时间差值的最高位不为0,进一步规范第二时间差值的规范性。
116.可选地,参照图4,所述步骤1023,包括:
117.步骤10231,将所述第二时间差值进行逆向排序,得到第三时间差值。
118.步骤10232,对所述第三时间差值的位数进行随机混淆处理,并将混淆处理后的第三时间差值的位数补齐到预设位数,得到整数类型的第四时间差值。
119.步骤10233,将所述第四时间差值转换为目标进制,并将转换后的第四时间差值进行长度补齐,得到第五时间差值。
120.步骤10234,将所述第五时间差值中的字符与未被交换过的相邻字符进行交换,得到时间戳属性。
121.在本技术实施例中,系统对第二时间差值初步进行逆向排序之后,然后将所得到的第三时间差值进行随机混淆处理,打乱时间差值的数值排序,然后将时间差值的位数补齐到例如6位、7位等特定位数,保证所得到的第四时间差值的位数规范。然后将string(字符串)类型的第四时间差值转换为int(整数)类型。然后将所得到的第四时间差值的长度进行补齐,即设置特定字符长度作为规范,在第四时间差值的长度未达到特定字符长度时,通过给第四时间差值的首位添加0或者任意数字,来使得第四时间差值的长度达到特定字符长度。
122.最后将所得到的第五时间差值中每两位字符进行交换,即可得到时间戳属性。交换的方式是相邻的两位字符进行交换,每个字符仅交换一次,例如存在字符123456,则1和2交换位置,3和4交换位置,依次类推。
123.本技术实施例通过将时间差值进行逆序操作、混淆操作、每两位字符交换操作,使得所生成时间戳属性中的真实信息不会直接暴露在外,即使时间戳属性被非法获取,也难以获取其中种真实信息,提高了所生成设备指纹中时间戳属性的信息安全性。
124.可选地,在所述步骤104之前,所述方法还包括:计算所述平台版本信息的哈希运算消息认证码,作为所述平台版本信息相对应的密钥。
125.在本技术实施例中,用于加密平台版本信息和时间戳属性的密钥可以是系统在生成设备指纹时,通过对不同的平台版本信息计算hmac(hash-based messageauthentication code,哈希运算消息认证码),将计算所得到的hmac作为平台版本信息相对应的密钥。在hmac的定义中用到一个密码散列函数h和一个密钥k。假设h是一个能够对明文进行分组循环压缩的散列函数,b为散列函数的明文分组长度(byte),在上述的散列函数中b=64,l为散列函数的输出长度(byte),md5中l=16,sha-1中l=20。认证密钥k可以为任意长度,一般密钥长度应大于明文分组的长度,将密钥的第一次散列值作为hmac真正使用的密钥,密钥的最小推荐长度为lbytes。
126.本技术实施例通过利用哈希运算消息认证码作为平台版本信息的密钥,从而保证每个密钥的唯一性,避免了使用统一密钥导致密钥泄露之后设备指纹被恶意破解之后信息泄露的风险。
127.为了便于理解,参照图5,本技术实施例提供一种实际应用场景下为目标设备生成
设备指纹的全过程:
128.假设目标设备为安卓手机,安装的视频应用程序版本为15,安卓手机设备维度可以包括:imei:a000008a400366、imsi:460016209014582、androidid:85c4166a238b99b1、ip:125.69.211.211、brand:xx、install_time(app安装时间):1596507539465;其中imei是安卓特有的,每个手机均有不同的imei,imsi同理,ip是用户访问所属的ip地址,brand是手机品牌、install_time是应用程序的安装时间。
129.步骤s1,首先随机生成一个uuid(第一标识信息):
130.d209aa3477074c298b232e389eb2d8ec;
131.步骤s2,将这个uuid带上当前时间戳得到字符串,时间戳为1、3、0、6,则分别将时间戳放入第一标识信息中4、9、3、c的位置,得到:
132.d209aa3177074c238b202e389eb2d8e6;
133.步骤s3,将平台版本信息以及添加时间戳之后的uuid拼接成一个字符串dfpcontent(第三标识信息):
134.15d209aa3177074c238b202e389eb2d8e6;
135.其中15为平台版本信息。
136.步骤s4,将该平台版本信息对应的密钥对拼接成的字符串dfpcontent进行加密生成一个加密之后的字符串(第四标识信息):
137.0a81b12677118785b43131da75593266;
138.步骤s5,将dfpcontent的值和这个md5之后的加密字符串进行拼接生成设备指纹id:
139.15d209aa3177074c238b202e389eb2d8e60a81b12677118785b43131da75593266。
140.可见,上述示例所生成的设备指纹中包含了可以反映平台版本信息和时间戳属性的明文信息“15d209aa3177074c238b202e389eb2d8e6”,还包含了通过特定密钥生成的加密后的平台版本信息和时间戳“0a81b12677118785b43131da75593266”,从而可通过将加密信息“0a81b12677118785b43131da75593266”进行解密得到的信息,和明文信息“15d209aa3177074c238b202e389eb2d8e6”进行比对,即可便捷地对设备身份进行验证。
141.可选地,参照图6,在所述步骤105之后,所述方法还包括:
142.步骤201,接收目标设备发送的访问请求,所述访问请求至少包括:所述设备指纹。
143.在本技术实施例中,目标设备在需要访问应用服务的服务端时,可通过安装在目标设备上客户端向服务端发送携带有设备指纹的访问请求。
144.步骤202,对所述设备指纹进行解析,得到所述第三标识信息和所述第四标识信息。
145.在本技术实施例中,服务端通过将设备指纹进行解析,即可得到设备指纹中包含的明文的第三标识信息,和加密的第四标识信息。
146.步骤203,利用所述密钥对所述第四标识信息进行解密,得到所述第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息。
147.在本技术实施例中,服务端通过预先存储的密钥对第四标识信息进行解密,即可得到第四标识信息中的第二标识信息和平台版本信息,然后从第二标识信息中提取出时间戳属性和第一标识信息。
148.步骤204,在所述第三标识信息中携带的时间戳属性、平台版本信息、第一标识信息,与所述第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息比对一致,且所述时间戳属性与当前时间点之间的时间间隔未超过时间间隔阈值的情况下,确认所述设备指纹验证通过。
149.在本技术实施例中,在设备指纹发放至目标设备之后,目标设备再次接入应用程序的服务器时,系统可通过将其提供的设备指纹按照格式拆分为第三标识信息和第四标识信息;然后通过依据第三标识信息中的平台设备标识查询所对应的密钥和时间戳属性的位置;利用所查询到的密钥将第四标识信息进行解密之后,将解密后的第四标识信息与第三标识信息进行比对来验证设备指纹的合法性。
150.具体的,首先比对第三标识信息中第三标识信息中携带的时间戳属性、平台版本信息、第一标识信息,和第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息的一致性,若两者对比一致,则说明设备指纹未被篡改或是伪造的,若两者比对不一致,则说明设备指纹已被篡改或者是伪造的。
151.进一步的,依据时间戳属性获取该设备指纹的生成时间,然后计算该生成时间与当前时间的时间间隔,通过判断该时间间隔是否超过设备指纹有效的时间间隔阈值,若时间间隔大于时间间隔阈值,则说明设备指纹有效,若时间间隔小于或等于时间间隔阈值,则说明设备指纹已经失效。
152.进而,在第三标识信息和第四标识信息比对一致且时间戳属性有效的情况下,认定设备指纹验证通过,在第三标识信息和四标识信息比对不一致或者时间戳属性无效的情况下,认定设备指纹验证不通过。
153.本技术实施例通过在利用目标设备的平台版本信息和时间戳属性为目标设备生成明文的标识信息,使得设备指纹可以具有时效性和反映设备特点,再利用平台版本信息所对应的密钥将平台版本信息和时间戳属性进行加密后与加密前的明文信息进行拼接来作为设备指纹,使得设备指纹在解析过程中可以将明文信息与解密后的密文信息进行比对来验证设备身份,避免了设备指纹被篡改和伪造的风险,提高了设备指纹的安全性。
154.图7是本技术实施例提供的一种设备指纹的生成装置30的结构框图,包括:
155.输入模块301,用于响应于对目标设备的设备指纹生成请求,为所述目标设备随机生成第一标识信息;
156.处理模块302,用于向所述第一标识信息添加时间戳属性,得到第二标识信息;
157.将所述目标设备的平台版本信息与所述第二标识信息进行拼接,得到第三标识信息;
158.利用所述平台版本信息相对应的密钥对所述第三标识信息进行加密,得到第四标识信息;
159.输出模块303,用于将所述第四标识信息和所述第三标识信息进行拼接,得到所述目标设备的设备指纹;
160.将所述设备指纹发送至所述目标设备,所述设备指纹用于对所述目标设备的身份进行验证。
161.可选地,所述处理模块302,还用于:
162.计算当前时间点和基准时间点之间的第一时间差值;
163.对所述第一时间差值执行高位调整操作和补齐位数操作,得到第二时间差值;
164.对所述第二时间差值进行逆序处理,得到所述时间戳属性;
165.向所述第一标识信息中的目标标记位添加所述时间戳属性,得到第二标识信息。
166.可选地,所述处理模块302,还用于:
167.在标记位时序表中查询与当前时间点相匹配的标记位作为目标标记位,所述标记位时序表是标记位随时间点变化的轮换规则。
168.可选地,所述处理模块302,还用于:
169.利用所述第一时间差值的轮回数取模,得到年轮;
170.在所述年轮大于0时,利用预设拼接值补齐所述第一时间差值的位数至目标位数,得到第二时间差值;或者,在所述年轮小于或等于0时,对所述第一时间差值添加0补齐位数至目标位数,得到第二时间差值;
171.给所述第二时间差值的最高位加上进位数。
172.可选地,所述处理模块302,还用于:
173.将所述第二时间差值进行逆向排序,得到第三时间差值;
174.对所述第三时间差值的位数进行随机混淆处理,并将混淆处理后的第三时间差值的位数补齐到预设位数,得到整数类型的第四时间差值;
175.将所述第四时间差值转换为目标进制,并将转换后的第四时间差值进行长度补齐,得到第五时间差值;
176.将所述第五时间差值中的字符与未被交换过的相邻字符进行交换,得到时间戳属性。
177.可选地,所述处理模块302,还用于:
178.计算所述平台版本信息的哈希运算消息认证码,作为所述平台版本信息相对应的密钥。
179.可选地,所述装置还包括:解析模块,用于:
180.接收目标设备发送的访问请求,所述访问请求至少包括:所述设备指纹;
181.对所述设备指纹进行解析,得到所述第三标识信息和所述第四标识信息;
182.利用所述密钥对所述第四标识信息进行解密,得到所述第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息;
183.在所述第三标识信息中携带的时间戳属性、平台版本信息、第一标识信息,与所述第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息比对一致,且所述时间戳属性与当前时间点之间的时间间隔未超过时间间隔阈值的情况下,确认所述设备指纹验证通过。
184.本技术实施例通过利用目标设备的平台版本信息和时间戳属性为目标设备生成明文的标识信息,使得设备指纹可以具有时效性和反映设备特点,再利用平台版本信息所对应的密钥对标识信息进行加密,然后将明文和加密的标识信息进行拼接来作为设备指纹,使得暴露在外的设备标识中可携带密文和明文的标识信息,即使设备指纹中的明文信息被篡改,也可通过对设备指纹中的密文信息进行解密来识别设备身份,避免了设备指纹被篡改和伪造的风险,提高了设备指纹的安全性。
185.对于上述服务器的实施例而言,由于其与方法实施例基本相似,所以描述得比较
简单,相关之处参见方法实施例的部分说明即可。
186.本技术实施例还提供了一种电子设备,如图8所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
187.存储器403,用于存放计算机程序;
188.处理器401,用于执行存储器403上所存放的程序时,实现上述任一设备指纹的生成方法的步骤。
189.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
190.通信接口用于上述终端与其他设备之间的通信。
191.存储器可以包括随机存取存储器(randomaccess memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
192.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
193.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的设备指纹的生成方法。
194.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的设备指纹的生成方法。
195.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
196.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实
体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
197.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
198.以上所述仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。

技术特征:
1.一种设备指纹的生成方法,其特征在于,包括:响应于对目标设备的设备指纹生成请求,为所述目标设备随机生成第一标识信息;向所述第一标识信息添加时间戳属性,得到第二标识信息;将所述目标设备的平台版本信息与所述第二标识信息进行拼接,得到第三标识信息;利用所述平台版本信息相对应的密钥对所述第三标识信息进行加密,得到第四标识信息;将所述第四标识信息和所述第三标识信息进行拼接,得到所述目标设备的设备指纹;将所述设备指纹发送至所述目标设备,所述设备指纹用于对所述目标设备的身份进行验证。2.根据权利要求1所述的方法,其特征在于,所述向所述第一标识信息添加时间戳属性,得到第二标识信息,包括:计算当前时间点和基准时间点之间的第一时间差值;对所述第一时间差值执行高位调整操作和补齐位数操作,得到第二时间差值;对所述第二时间差值进行逆序处理,得到所述时间戳属性;向所述第一标识信息中的目标标记位添加所述时间戳属性,得到第二标识信息。3.根据权利要求2所述的方法,其特征在于,在所述向所述第一标识信息中的目标标记位添加所述时间戳属性,得到第二标识信息之前,所述方法还包括:在标记位时序表中查询与当前时间点相匹配的标记位作为目标标记位,所述标记位时序表是标记位随时间点变化的轮换规则。4.根据权利要求2所述的方法,其特征在于,所述对所述第一时间差值执行高位调整操作和补齐位数操作,得到第二时间差值,包括:利用所述第一时间差值的轮回数取模,得到年轮;在所述年轮大于0时,利用预设拼接值补齐所述第一时间差值的位数至目标位数,得到第二时间差值,或者,在所述年轮小于或等于0时,对所述第一时间差值添加0补齐位数至目标位数,得到第二时间差值;给所述第二时间差值的最高位加上进位数。5.根据权利要求2所述的方法,其特征在于,所述对所述第二时间差值进行逆序处理,得到所述时间戳属性,包括:将所述第二时间差值进行逆向排序,得到第三时间差值;对所述第三时间差值的位数进行随机混淆处理,并将混淆处理后的第三时间差值的位数补齐到预设位数,得到整数类型的第四时间差值;将所述第四时间差值转换为目标进制,并将转换后的第四时间差值进行长度补齐,得到第五时间差值;将所述第五时间差值中的字符与未被交换过的相邻字符进行交换,得到时间戳属性。6.根据权利要求1所述的方法,其特征在于,在所述利用所述平台版本信息相对应的密钥对所述第三标识信息进行加密,得到第四标识信息之前,所述方法还包括:计算所述平台版本信息的哈希运算消息认证码,作为所述平台版本信息相对应的密钥。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收目标设备发送的访问请求,所述访问请求至少包括:所述设备指纹;对所述设备指纹进行解析,得到所述第三标识信息和所述第四标识信息;利用所述密钥对所述第四标识信息进行解密,得到所述第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息;在所述第三标识信息中携带的时间戳属性、平台版本信息、第一标识信息,与所述第四标识信息中携带的时间戳属性、平台版本信息、第一标识信息比对一致,且所述时间戳属性与当前时间点之间的时间间隔未超过时间间隔阈值的情况下,确认所述设备指纹验证通过。8.一种设备指纹的生成装置,其特征在于,包括:输入模块,用于响应于对目标设备的设备指纹生成请求,为所述目标设备随机生成第一标识信息;处理模块,用于向所述第一标识信息添加时间戳属性,得到第二标识信息;将所述目标设备的平台版本信息与所述第二标识信息进行拼接,得到第三标识信息;利用所述平台版本信息相对应的密钥对所述第三标识信息进行加密,得到第四标识信息;输出模块,用于将所述第四标识信息和所述第三标识信息进行拼接,得到所述目标设备的设备指纹;将所述设备指纹发送至所述目标设备,所述设备指纹用于对所述目标设备的身份进行验证。9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7中任一所述的设备指纹的生成方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一所述的设备指纹的生成方法。

技术总结
本申请提供的一种设备指纹的生成方法、装置、设备及介质,应用于信息安全技术领域,所述方法包括:响应于对目标设备的设备指纹生成请求,为所述目标设备随机生成第一标识信息;向所述第一标识信息添加时间戳属性,得到第二标识信息;将所述目标设备的平台版本信息与所述第二标识信息进行拼接,得到第三标识信息;利用所述平台版本信息相对应的密钥对所述第三标识信息进行加密,得到第四标识信息;将所述第四标识信息和所述第三标识信息进行拼接,得到所述目标设备的设备指纹;将所述设备指纹发送至所述目标设备,所述设备指纹用于对所述目标设备的身份进行验证。标设备的身份进行验证。标设备的身份进行验证。


技术研发人员:杜杰
受保护的技术使用者:北京奇艺世纪科技有限公司
技术研发日:2023.06.30
技术公布日:2023/9/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐