基于设备指纹的访问控制方法、装置、服务器及存储介质与流程

文档序号:28868587发布日期:2022-02-12 10:37阅读:140来源:国知局
基于设备指纹的访问控制方法、装置、服务器及存储介质与流程

1.本发明涉及流量访问控制技术领域,具体而言,涉及基于设备指纹的访问控制方法、装置、服务器及存储介质。


背景技术:

2.随着互联网的发展,越来越多的商家选择在线上设立店铺,商家在一些特殊时期,会用低价做一些秒杀活动,来吸引更多的客户,然而一些第三方使用脚本等不当的手段,持续执行高频请求,进行恶意刷单,将低价购入的商品再转卖,不仅对正常用户造成不公平竞争,同时高流量访问也给系统带来额外的压力。
3.因此对于一些敏感接口进行访问流量控制势在必行;常见的访问流量控制方式有:1)基于用户发起请求时的ip地址,并限制该ip的访问频率;通过访问ip限制方式,第三方恶意请求者通常不会直接请求访问目标服务,而是在客户端与目标服务之间架设一个代理服务,客户端请求首先委派给代理服务,由代理服务请求访问目标服务,从而隐蔽了自身的真实ip;一般代理服务能够实现动态ip切换,从而使目标服务器无法精准针对ip限流;2)对于需要登录认证的系统,通过基于登录用户来限制该用户的访问频率;使用该方式,系统强制要求用户登录才能使用,会给正常用户使用带来不便捷;3)按系统所能承受的频次限流,不区分请求来源,只要超过当前系统所能承受的最大承载量,则限制后续用户请求;不区分请求来源,当恶意请求者以高频率访问,达到系统所能承载的上限后,系统会阻挡后续正常使用的用户;4)基于设备id来限制该设备的访问频率;仅通过设备id来限制,恶意请求者可以拦截请求并篡改设备id,使服务器无法正确判断设备id的合法性。


技术实现要素:

4.本发明的目的在于提供基于设备指纹的访问控制方法、装置、服务器及存储介质,旨在解决背景技术中所指出的问题。
5.本发明的实施例通过以下技术方案实现:基于设备指纹的访问控制方法,应用于客户端,包括如下步骤:客户端将基于设备指纹数据所生成的申请访问令牌请求发送至服务端,所述申请访问令牌请求用于触发服务端随机生成访问令牌并与设备指纹数据关联;在接收到服务端下发的访问令牌后,客户端根据访问令牌生成第一秘钥,并将请求头携带有设备指纹数据和第一秘钥的http请求发送至服务端;所述设备指纹数据和第一秘钥用于供服务端在存在关联的访问令牌时采用与所述第一秘钥相同的生成方式生成第二秘钥与第一秘钥进行匹配,且所述第一秘钥和第二秘钥匹配成功时触发服务端判断当前设备指纹数据所在的访问标志位是否为可访问状态,其中,访问标志位的可访问状态由服务端按预设频率标记;当访问标志位为可访问状态时,接收服务端下发的业务数据。
6.根据一种优选实施方式,所述设备指纹数据包括设备操作系统、设备型号、系统版
本号、屏幕像素高度、屏幕像素宽度、cpu类型、mac地址、设备imei号和设备序列号中的一种或多种。
7.进一步地,所述申请访问令牌请求采用如下方式生成:对各设备指纹数据进行拼接生成字符串;利用消息摘要算法对字符串进行处理,生成设备指纹标识字符串,将该设备指纹标识字符串作为参数请求服务端申请访问令牌。
8.本发明还提供基于设备指纹的访问控制方法,应用于服务端,包括如下步骤:服务端接收客户端基于设备指纹数据所生成申请访问令牌的参数后,随机生成访问令牌并与设备指纹数据关联;服务端判断客户端发送的http请求中的设备指纹数据和第一秘钥是否合法,其中,第一秘钥由客户端根据访问令牌生成;当所述客户端发送的http请求中设备指纹数据存在关联的访问令牌时,服务端采用与所述第一秘钥相同的生成方式生成第二秘钥并与第一秘钥进行匹配;当所述第一秘钥和第二秘钥匹配成功时,服务端判断当前设备指纹数据所在的访问标志位是否为可访问状态,其中,访问标志位的可访问状态由服务端按预设频率标记;当访问标志位为可访问状态时,服务端进入下游业务处理。
9.根据一种优选实施方式,所述设备指纹数据包括设备操作系统、设备型号、系统版本号、屏幕像素高度、屏幕像素宽度、cpu类型、mac地址、设备imei号和设备序列号中的一种或多种。
10.进一步地,所述申请访问令牌请求采用如下方式生成:对各设备指纹数据进行拼接生成字符串;利用消息摘要算法对字符串进行处理,生成设备指纹标识字符串,将该设备指纹标识字符串作为参数请求服务端申请访问令牌。
11.本发明还提供基于设备指纹的访问控制装置,应用于客户端,包括:第一发送模块,用于向服务端发送基于设备指纹数据所生成的申请访问令牌请求;生成模块,用于根据访问令牌生成第一秘钥,其中,所述访问令牌为服务端接收到申请访问令牌请求后随机生成,所述设备指纹数据通过服务端与访问令牌相关联;第二发送模块,用于向服务端发送请求头携带有设备指纹数据和第一秘钥的http请求;所述设备指纹数据和第一秘钥用于供服务端在存在关联的访问令牌时采用与所述第一秘钥相同的生成方式生成第二秘钥与第一秘钥进行匹配,且所述第一秘钥和第二秘钥匹配成功时触发服务端判断当前设备指纹数据所在的访问标志位是否为可访问状态,其中,访问标志位的可访问状态由服务端按预设频率标记;当访问标志位为可访问状态时,接收服务端下发的业务数据。
12.本发明还提供基于设备指纹的访问控制装置,应用于服务端,包括:接收模块,用于接收客户端基于设备指纹数据所生成的申请访问令牌请求;生成模块,用于随机生成访问令牌并与设备指纹数据关联;验证模块,用于判断客户端发送的http请求中的设备指纹数据和第一秘钥是否合
法,其中,所述第一秘钥由客户端根据访问令牌生成;当所述客户端发送的http请求中设备指纹数据存在关联的访问令牌时,采用与所述第一秘钥相同的生成方式生成第二秘钥并与第一秘钥进行匹配;当所述第一秘钥和第二秘钥匹配成功时,判断当前设备指纹数据所在的访问标志位是否为可访问状态,其中,访问标志位的可访问状态按预设频率标记;当访问标志位为可访问状态时,服务端进入下游业务处理。
13.本发明还提供一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述应用于客户端或服务端任一所述的方法。
14.本发明还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上述应用于客户端或服务端任一所述的方法。
15.本发明实施例的技术方案至少具有如下优点和有益效果:1)客户端基于软件及硬件等多维度的方式采集信息生成设备指纹,能够避免传统基于ip方案,由于ip动态变化,使得控制不精准的问题;2)同时由于使用采集的设备指纹作为限流依据,对应用本身无侵入,也不需要强制用户必须登录才能使用特定功能,能够提高用户体验;3)客户端对获取到的访问令牌,以特定的算法进行二次加密计算,破解难度极大,可以有效防止设备指纹等数据在网络传输过程中,被恶意篡改,保证数据准确性;4)服务端采用定时更新访问标志的方式,可以有效确保客户端以特定频率访问服务,经过实验证明,能够有效动态调控设备的访问频率。
附图说明
16.图1为本发明实施例1提供的访问控制方法的流程示意图;图2为本发明实施例2提供的访问控制方法的流程示意图;图3为本发明实施例3提供的访问控制装置的结构图;图4为本发明实施例4提供的访问控制装置的结构图;图5为本发明实施例5提供的服务器的结构图。
具体实施方式
17.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
18.实施例1经申请人研究发现,常见的访问流量控制方式有:1)基于用户发起请求时的ip地址,并限制该ip的访问频率;通过访问ip限制方式,第三方恶意请求者通常不会直接请求访
问目标服务,而是在客户端与目标服务之间架设一个代理服务,客户端请求首先委派给代理服务,由代理服务请求访问目标服务,从而隐蔽了自身的真实ip;一般代理服务能够实现动态ip切换,从而使目标服务器无法精准针对ip限流;2)对于需要登录认证的系统,通过基于登录用户来限制该用户的访问频率;使用该方式,系统强制要求用户登录才能使用,会给正常用户使用带来不便捷;3)按系统所能承受的频次限流,不区分请求来源,只要超过当前系统所能承受的最大承载量,则限制后续用户请求;不区分请求来源,当恶意请求者以高频率访问,达到系统所能承载的上限后,系统会阻挡后续正常使用的用户;4)基于设备id来限制该设备的访问频率;仅通过设备id来限制,恶意请求者可以拦截请求并篡改设备id,使服务器无法正确判断设备id的合法性。
19.基于此,本发明的第一实施例提供基于设备指纹的访问控制方法,旨在解决背景技术中所指出的问题。
20.本实施例应用于终端中的客户端。本实施例中的访问控制方法的具体流程如图1所示,包括如下步骤:当客户端初始化时,由客户端首先采集当前设备的设备指纹数据,包括设备操作系统、设备型号、系统版本号、屏幕像素高度、屏幕像素宽度、cpu类型、mac地址、设备imei号和设备序列号中的一种或多种。
21.对上述各设备指纹数据进行拼接生成字符串,利用消息摘要算法如开源md5算法对字符串进行哈希散列,除此md5算法以外,还可以采用sha、sha-2、mac算法等,在此不再赘述;通过上述算法对字符串进行处理,生成设备指纹标识字符串,将该设备指纹标识字符串作为参数请求服务端申请访问令牌。
22.需要说明的是,客户端基于软件及硬件等多维度的方式采集信息生成设备指纹,能够避免传统基于ip方案,由于ip动态变化,使得控制不精准的问题。同时由于使用采集的设备指纹作为限流依据,对应用本身无侵入,也不需要强制用户必须登录才能使用特定功能,能够提高用户体验。
23.进一步地,客户端将基于设备指纹数据所生成的申请访问令牌请求发送至服务端,所述申请访问令牌请求用于触发服务端随机生成一段字符串作为访问令牌并与设备指纹数据关联。
24.进一步地,在接收到服务端下发的访问令牌后,客户端根据访问令牌生成第一秘钥,并将请求头携带有设备指纹数据和第一秘钥的http请求发送至服务端。在本实施例的一种实施方式中,客户端根据访问令牌生成第一秘钥具体如下:客户端获得访问令牌,即字符串s3后,截取最后两位随机数字s2,对随机数字s2进行二次截取分别得到数字m和n,分别截取字符串s3前m位得到子串s4和s3后n位得到子串s5,按子串s5+子串s4的顺序拼接生成字符串s6,进一步地,将字符串s6与设备指纹数据相加并进行md5哈希散列生成第一请求秘钥。需要说明的是,客户端对获取到的访问令牌,以md5算法进行二次加密计算,破解难度极大,可以有效防止设备指纹等数据在网络传输过程中,被恶意篡改,保证数据准确性。
25.进一步地,所述设备指纹数据和第一秘钥用于供服务端在存在关联的访问令牌时采用与所述第一秘钥相同的生成方式生成第二秘钥与第一秘钥进行匹配,且所述第一秘钥和第二秘钥匹配成功时触发服务端判断当前设备指纹数据所在的访问标志位是否为可访问状态,其中,访问标志位的可访问状态由服务端按预设频率标记。
26.当访问标志位为可访问状态时,接收服务端下发的业务数据。服务端采用定时更新访问标志的方式,可以有效确保客户端以特定频率访问服务。经过实验证明,本实施例提供的上述方法能够有效动态调控设备的访问频率。
27.实施例2本实施例涉及基于设备指纹的访问控制方法,本实施例应用于服务端。本实施例中的访问控制方法的具体流程参考图2所示,步骤如下:服务端接收客户端基于设备指纹数据所生成申请访问令牌的参数后,随机生成一段字符串作为访问令牌并与设备指纹数据关联。
28.在一个例子中,设备指纹数据,包括设备操作系统、设备型号、系统版本号、屏幕像素高度、屏幕像素宽度、cpu类型、mac地址、设备imei号和设备序列号中的一种或多种。申请访问令牌请求采用如下方式生成:对各设备指纹数据进行拼接生成字符串;利用消息摘要算法对字符串进行处理,生成设备指纹标识字符串,将该设备指纹标识字符串作为参数请求服务端申请访问令牌。
29.具体地说,服务端接收到申请访问令牌请求后,随机生成一段字符串作为访问令牌,并将该访问令牌与设备指纹数据相关联,将访问令牌反馈给客户端。在本实施例的一种实施方式中,服务端接收到申请访问令牌请求触发后,生成一个10位由数字和字母组合的随机字符串s1,同时生成一个2位仅有数字1-9组成的随机数字s2,将随机字符串s1和随机数字s2相加组成字符串s3,将字符串s3与设备指纹数据关联,作为该客户端的访问令牌。
30.服务端判断客户端发送的http请求中的设备指纹数据和第一秘钥是否合法,其中,第一秘钥由客户端根据访问令牌二次加密处理生成。
31.当所述客户端发送的http请求中设备指纹数据存在关联的访问令牌时,服务端采用与所述第一秘钥相同的生成方式生成第二秘钥并与第一秘钥进行匹配。
32.当所述第一秘钥和第二秘钥匹配成功时,服务端判断当前设备指纹数据所在的访问标志位是否为可访问状态,其中,访问标志位的可访问状态由服务端按预设频率标记。
33.当访问标志位为可访问状态时,服务端进入下游业务处理。
34.实施例3本发明实施例涉及基于设备指纹的访问控制装置,应用于客户端,本实施例提供的访问控制装置的结构图参考图3所示,包括:第一发送模块,用于向服务端发送基于设备指纹数据所生成的申请访问令牌请求;生成模块,用于根据访问令牌生成第一秘钥,其中,所述访问令牌为服务端接收到申请访问令牌请求后随机生成的一段字符串,所述设备指纹数据通过服务端与访问令牌相关联;第二发送模块,用于向服务端发送请求头携带有设备指纹数据和第一秘钥的http请求;所述设备指纹数据和第一秘钥用于供服务端在存在关联的访问令牌时采用与所述第一秘钥相同的生成方式生成第二秘钥与第一秘钥进行匹配,且所述第一秘钥和第二秘钥匹配成功时触发服务端判断当前设备指纹数据所在的访问标志位是否为可访问状态,其中,访问标志位的可访问状态由服务端按预设频率标记;
当访问标志位为可访问状态时,接收服务端下发的业务数据。
35.实施例4本发明实施例涉及基于设备指纹的访问控制装置,应用于服务端,本实施例提供的访问控制装置的结构图参考图4所示,包括:接收模块,用于接收客户端基于设备指纹数据所生成的申请访问令牌请求;生成模块,用于随机生成一段字符串作为访问令牌并与设备指纹数据关联;验证模块,用于判断客户端发送的http请求中的设备指纹数据和第一秘钥是否合法,其中,所述第一秘钥由客户端根据访问令牌生成;当所述客户端发送的http请求中设备指纹数据存在关联的访问令牌时,采用与所述第一秘钥相同的生成方式生成第二秘钥并与第一秘钥进行匹配;当所述第一秘钥和第二秘钥匹配成功时,判断当前设备指纹数据所在的访问标志位是否为可访问状态,其中,访问标志位的可访问状态按预设频率标记;当访问标志位为可访问状态时,服务端进入下游业务处理。
36.实施例5本发明实施例涉及一种服务器,本实施例提供的服务器的结构图参考图5所示,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如实施例1或实施例2中任一所述的方法。
37.其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步地,天线还接收数据并将数据传送给处理器。
38.处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时、外围接口、电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
39.实施例6本发明实施例涉及一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如实施例1或实施例2任一所述的方法。
40.本领域技术人员可以理解的是,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用于使得一个设备(可以是单片机、芯片等)或处理器执行本发明各个实施例所述的方法的全部或部分步骤。而上述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
41.综上所述,本发明实施例的技术方案至少具有如下优点和有益效果:1)客户端基于软件及硬件等多维度的方式采集信息生成设备指纹,能够避免传统基于ip方案,由于ip动态变化,使得控制不精准的问题;
2)同时由于使用采集的设备指纹作为限流依据,对应用本身无侵入,也不需要强制用户必须登录才能使用特定功能,能够提高用户体验;3)客户端对获取到的访问令牌,以特定的算法进行二次加密计算,破解难度极大,可以有效防止设备指纹等数据在网络传输过程中,被恶意篡改,保证数据准确性;4)服务端采用定时更新访问标志的方式,可以有效确保客户端以特定频率访问服务,经过实验证明,能够有效动态调控设备的访问频率。
42.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1