一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

操作请求的验证方法、服务器、终端设备和存储介质与流程

2022-03-19 20:56:49 来源:中国专利 TAG:


1.本技术涉及信息安全技术领域,提供一种操作请求的验证方法、服务器、终端设备和存储介质。


背景技术:

2.目前,服务器在对终端设备的操作请求进行验证时,通常会设置相应的风控策略,根据该操作请求的上下文参数确定对应的验证项并返回给该终端设备,例如,针对终端设备的交易请求,可以根据该交易请求的交易金额等上下文参数设置手机验证码、身份证信息以及人脸识别等验证项。然后,由终端设备逐个提交相应的验证项信息至服务器进行验证,若验证通过则允许执行相应的操作。然而,由于在验证项信息验证通过后,操作请求的上下文参数仍存在被篡改的风险,故采用这种方式进行验证的安全性较低。


技术实现要素:

3.有鉴于此,本技术提出一种操作请求的验证方法、服务器、终端设备和存储介质,能够提高对操作请求进行验证的安全性。
4.第一方面,本技术实施例提供了一种操作请求的验证方法,应用于服务器,该方法包括:
5.在接收到终端设备发送的操作请求后,根据所述操作请求的第一上下文参数确定对应的第一验证项,并于所述服务器本地存储所述第一上下文参数;
6.发送所述第一验证项的验证请求至所述终端设备;
7.在接收到所述终端设备基于所述第一验证项的验证请求返回的第一验证信息后,对所述第一验证信息进行验证;
8.若所述第一验证信息验证通过,则于所述服务器本地生成并存储第一令牌,以及将所述第一令牌发送至所述终端设备;
9.接收所述终端设备返回的第二令牌以及所述操作请求的第二上下文参数;
10.验证所述第二令牌和所述第一令牌是否一致,以及验证所述第二上下文参数和所述第一上下文参数是否一致;
11.若所述第二令牌和所述第一令牌一致,且所述第二上下文参数和所述第一上下文参数一致,则确定所述操作请求验证通过。
12.本技术实施例提出的验证方法首先由终端设备发起操作请求,服务器在接收到操作请求之后,会根据该操作请求的上下文参数确定对应的验证项,并于本地存储该上下文参数;然后,服务器发送该验证项的验证请求至终端设备,终端设备基于该验证请求返回相应的验证信息;接着,服务器对接收到的验证信息进行验证,若验证通过则生成一个令牌,将该令牌发送给终端设备,另外服务器本地也会存储该令牌;终端设备在接收到服务器发送的令牌之后,会发送相应的令牌和上下文参数至服务器进行再次验证,这里存在两种情况:(1)若终端设备侧没有对令牌和上下文参数进行篡改,则此时发送的令牌和服务器存储
的令牌是一致的,且此时发送的上下文参数和服务器存储的上下文参数也是一致的,这种情况下服务器会判定该操作请求验证通过;(2)若终端设备侧对令牌或者上下文参数进行了篡改,则会出现终端设备发送的令牌和服务器存储的令牌不一致,或者终端设备发送的上下文参数和服务器存储的上下文参数不一致的情况,这种情况下服务器会判定该操作请求验证未通过。由此可见,本技术实施例在验证项信息验证通过后,能够有效识别上下文参数被篡改的风险,从而提高操作请求验证的安全性。
13.在本技术的一个实施例中,在验证所述第二令牌和所述第一令牌是否一致,以及验证所述第二上下文参数和所述第一上下文参数是否一致之后,还可以包括:
14.若所述第二令牌和所述第一令牌一致,且所述第二上下文参数和所述第一上下文参数不一致,则根据所述第二上下文参数确定对应的第二验证项;
15.若所述第二验证项和所述第一验证项完全相同,则确定所述操作请求验证通过。
16.进一步的,在根据所述第二上下文参数确定对应的第二验证项之后,还可以包括:
17.若所述第二验证项和所述第一验证项存在不同,则确定所述操作请求验证未通过;
18.或者,
19.若所述第二验证项和所述第一验证项存在不同,则将所述第二验证项包含的与所述第一验证项不同的验证项确定为待测验证项;
20.发送所述待测验证项的验证请求至所述终端设备;
21.在接收到所述终端设备基于所述待测验证项的验证请求返回的第二验证信息后,对所述第二验证信息进行验证;
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.第六方面,本技术实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本技术实施例第二方面提出的操作请求的验证方法。
52.第七方面,本技术实施例提供了一种操作请求的验证系统,其包含如本技术实施例第五方面提出的服务器以及本技术实施例第六方面提出的终端设备。
53.第八方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本技术实施例第一方面提出的操作请求的验证方法,或者实现如本技术实施例第二方面提出的操作请求的验证方法。
54.第九方面,本技术实施例提供了一种计算机程序产品,当该计算机程序产品在服务器上运行时,使得该服务器执行如本技术实施例第一方面提出的操作请求的验证方法,当该计算机程序产品在终端设备上运行时,使得该终端设备执行如本技术实施例第二方面提出的操作请求的验证方法,
55.上述第二方面至第九方面所能实现的有益效果,可以参照上述第一方面的相关说明。
附图说明
56.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
57.图1是本技术实施例提供的一种操作请求的验证系统的示意图;
58.图2是本技术实施例提供的一种应用于服务器的操作请求的验证方法的一个实施例的流程图;
59.图3是本技术实施例提供的一种应用于终端设备的操作请求的验证方法的一个实施例的流程图;
60.图4是本技术实施例提供的一种应用于服务器的操作请求的验证装置的一个实施例的结构图;
61.图5是本技术实施例提供的一种应用于终端设备的操作请求的验证装置的一个实
施例的结构图;
62.图6是本技术实施例提供的一种服务器的示意图。
具体实施方式
63.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
64.随着互联网的迅猛发展,网上交易已经日趋成为一种全新的商务模式,基于网络产生的交易也日益增长。在享受网络交易带来的便捷的同时,网络交易的安全性也备受关注。目前,风控系统传统验证方法能够提供的保护已经捉襟见肘,我们急需一种新的验证方法来有效地解决用户在交易中(比如转账、水电煤的缴费等)或其它操作中(比如修改手机号、重置登录密码等)存在的风险,保证操作的完整性和安全性。基于这个应用背景,本技术提出一种操作请求的验证方法、装置、终端设备和存储介质,能够提高操作请求验证的安全性。
65.应当理解,本技术实施例提供的操作请求的验证方法的执行主体可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)、大屏电视等终端设备或者服务器,本技术实施例对该终端设备和服务器的具体类型不作任何限制。这里的服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
66.图1是本技术实施例提供的一种操作请求的验证系统的示意图。在图1中,终端设备可以通过网络等方式和服务器连接,用户使用终端设备可以进行交易、修改账户密码等操作,此时该终端设备会发出相应的操作请求至服务器。服务器在接收到该操作请求之后,会执行本技术实施例所述的操作请求的验证方法对该操作请求进行验证,从而确定是否通过该操作请求。关于图1所示系统的具体工作原理与技术细节请参照后文所述的各个方法实施例。
67.请参阅图2,本技术实施例中一种应用于服务器的操作请求的验证方法的一个实施例包括:
68.201、在接收到终端设备发送的操作请求后,根据所述操作请求的第一上下文参数确定对应的第一验证项,并于所述服务器本地存储所述第一上下文参数;
69.用户在终端设备(客户端)登录后可以发起各类操作请求,例如交易请求,重置密码请求和修改账号信息请求等。终端设备的操作请求会发送至对应的服务器(服务端),例如通过某个交易系统app发起的交易请求会发送至该交易系统对应的服务器。
70.服务器在接收到终端设备发送的操作请求后,会从中解析出各类上下文参数,例
如:交易金额、客户号、交易场景信息、请求全局的唯一流水号和交易时间,等等。在服务器可以部署一个风控策略中心,该风控策略中心基于获取到的上下文参数执行风控规则引擎算法识别,能够返回需要验证的验证项(即第一验证项)。各个验证项可以包括但不限于:手机验证码,身份证信息,银行卡信息,人脸识别,等等。另外,服务器还会将接收到的上下文参数和确定的验证项存储在服务器本地。在存储时,这些上下文参数可以以原文的格式存储,也可以以固定的格式进行存储(例如采用指定的加密算法加密)。
71.示例性的,假设终端设备发送一笔话费充值交易请求,其中包含交易单号、手机号和充值金额等上下文参数,而服务器的风控策略中心设置了以下策略:若充值金额大于100元,则需要验证身份信息和otp(onetimepassword,一次性密码);若充值金额小于等于100元,则只需要验证otp。那么,若上下文参数中的充值金额大于100元,则可以确定对应的验证项为身份信息和otp;若上下文参数中的充值金额小于等于100元,则可以确定对应的验证项为otp。
72.在本技术实施例的一种实现方式中,在根据所述操作请求的第一上下文参数确定对应的第一验证项之后,还可以包括:
73.(1)检测所述终端设备当前登录的用户账户在指定时长内已完成的历史验证项;
74.(2)将所述第一验证项中与所述历史验证项相同的验证项删除。
75.如果终端设备的用户账户在指定时长(例如5分钟)内已经完成过某些历史验证项,则短时间内不必重复执行相同的验证项,此时可以将该第一验证项中与该历史验证项相同的那部分验证项删除,以减少非必要的重复验证,节省验证时间。例如,若根据上下文参数确定的验证项包含手机验证码、身份证信息和人脸识别,而检测到终端设备的用户账户在一分钟之前已经通过人脸识别的验证,则可以将验证项中的人脸识别删除,也即只需执行手机验证码和身份证信息的验证即可,从而节省验证时间。
76.202、发送所述第一验证项的验证请求至所述终端设备;
77.在确定对应的第一验证项之后,服务器会发送该第一验证项的验证请求至终端设备。此时会在终端设备上显示验证信息的录入界面,由用户输入相应的验证信息,以完成验证信息的收集。例如,若需要用户执行身份证信息的验证项,则服务器可以发送要求用户输入身份证信息的请求,此时会在终端设备上显示身份证信息的录入界面,由用户输入相应的身份证信息(属于一种验证信息),以完成身份证信息的收集。
78.203、在接收到所述终端设备基于所述第一验证项的验证请求返回的第一验证信息后,对所述第一验证信息进行验证;
79.用户在录入验证信息之后,通过终端设备将录入的验证信息(例如输入的手机验证码,人脸图像等,即第一验证信息)发送至服务器。在服务器可以部署一个验证中心,通过该验证中心对接收到的各类验证信息进行验证,以判断用户录入的验证信息是否正确。例如,若用户录入的是手机验证码,则服务器验证该手机验证码和服务器发送的手机验证码是否一致;若用户录入的是人脸图像,则服务器验证该人脸图像和服务器存储的人脸图像是否匹配,等等。
80.另一方面,服务器还可以设置组合验证接口,该组合验证接口集成多个不同验证项的接口,支持单个验证项的验证,也支持多个不同验证项的同时验证,能够提供任意组合验证的功能,使得终端设备和服务器进行多项不同验证项的验证时只需交互一次。
81.204、若所述第一验证信息验证通过,则于所述服务器本地生成并存储第一令牌,以及将所述第一令牌发送至所述终端设备;
82.服务器对接收到的验证信息进行验证后,若验证不通过,则可以直接判定该操作请求验证失败,拒绝相应的操作,也可以再次发送该第一验证项的验证请求至终端设备,要求用户重新输入正确的验证信息。若验证通过,则服务器会在本地生成并存储一个令牌(第一令牌),同时会将该立牌发送至该终端设备。
83.205、接收所述终端设备返回的第二令牌以及所述操作请求的第二上下文参数;
84.终端设备在接收到服务器发送的第一令牌之后,会重新向服务器发送该接收到的令牌(称作第二令牌)以及该操作请求的上下文参数(称作第二上下文参数)。在这里,若终端设备(非法用户)没有篡改接收到的令牌以及该操作请求的上下文参数,则向服务器发送的第二令牌和该第一令牌是一致的,且当前发送的第二上下文参数和步骤201中服务端存储的第一上下文参数也是一致的。然而,如果终端设备篡改了令牌,则会出现第二令牌和第一令牌不一致的情况,同样的,如果终端设备篡改了上下文参数,则会出现第二上下文参数和第一上下文参数不一致的情况。
85.206、验证所述第二令牌和所述第一令牌是否一致,以及验证所述第二上下文参数和所述第一上下文参数是否一致;
86.服务器在接收到终端设备发送的第二令牌和第二上下文参数之后,分别将第二令牌和存储的第一令牌进行比较,将第二上下文参数和存储的第一上下文参数进行比较,也即验证第二令牌和第一令牌是否一致,以及验证第二上下文参数和第一上下文参数是否一致。
87.在本技术实施例的一种实现方式中,所述第一令牌包含有效时间和验证标记符,在验证所述第二令牌和所述第一令牌是否一致之前,还可以包括:
88.(1)检验当前时间是否超出所述有效时间,以及检验所述验证标记符是否为未验证状态;
89.(2)若当前时间未超出所述有效时间,且所述验证标记符为未验证状态,则将所述验证标记符设置为已验证状态,并执行验证所述第二令牌和所述第一令牌是否一致的步骤以及后续步骤;
90.(3)若当前时间超出所述有效时间,或者所述验证标记符为已验证状态,则确定所述操作请求验证未通过。
91.服务器在生成第一令牌的时候,可以为该第一令牌分配相应的有效时间和验证标记符,该验证标记符包含“未验证”和“已验证”两种状态,初始化为“未验证”状态;第一令牌只在该有效时间内生效,若超过该有效时间则令牌作废,而且,第一令牌只能验证一次,在验证后即作废。服务器在接收到终端设备发送的第二令牌之后,首先检验第一令牌是否处于有效状态(同时满足未超过有效时间,以及验证标记符为“未验证”两个条件),若第一令牌处于有效状态,才会执行后续的令牌验证操作,且在令牌验证后会将第一令牌的验证标记符设置为“已验证”,表示第一令牌已完成验证;若第一令牌处于无效状态(超过有效时间,或者验证标记符为“已验证”),则表明第一令牌已过期或者已完成验证,此时服务器可以确定当前获得的第二令牌是无效令牌,并可进一步确定该操作请求的验证不通过。
92.在本技术实施例的一种实现方式中,在验证所述第二令牌和所述第一令牌是否一
致,以及验证所述第二上下文参数和所述第一上下文参数是否一致之后,还可以包括:
93.(1)若所述第二令牌和所述第一令牌一致,且所述第二上下文参数和所述第一上下文参数不一致,则根据所述第二上下文参数确定对应的第二验证项;
94.(2)若所述第二验证项和所述第一验证项完全相同,则确定所述操作请求验证通过。
95.如果第二令牌和第一令牌一致,而第二上下文参数和第一上下文参数不一致,则表示终端设备对上下文参数进行了篡改,然而某些微小的篡改并不会产生实质影响。在步骤201中,服务器通过风控策略中心设定的规则可以确定与第一上下文参数对应的第一验证项,此时同样可以通过该风控策略中心设定的策略确定与第二上下文参数对应的第二验证项。若第二验证项和第一验证项完全相同,则表示篡改的上下文参数未产生实质影响,且终端设备已经完成了相应验证项的验证,因此服务器可以确定该操作请求的验证通过。例如,若第一上下文参数为充值金额80元,第二上下文参数为充值金额90元,则通过策略“若充值金额大于100元,则需要验证身份信息和otp;若充值金额小于等于100元,则只需要验证otp”可以确定第一上下文参数对应的第一验证项为otp,第二上下文参数对应的第二验证项同样为otp,两者完全相同,且在步骤203中终端设备已经通过otp的验证,故服务器可以判定该操作请求的验证通过。
96.可选的,在根据所述第二上下文参数确定对应的第二验证项之后,还可以包括:
97.若所述第二验证项和所述第一验证项存在不同,则确定所述操作请求验证未通过。
98.若第二上下文参数对应的第二验证项和第一上下文参数对应的第一验证项存在不同,则表示终端设备对上下文参数的篡改产生了实质影响,具体体现在需要采用不同的验证项进行验证。例如,在上述例子中,若第一上下文参数为充值金额80元,第二上下文参数为充值金额200元,则通过策略“若充值金额大于100元,则需要验证身份信息和otp;若充值金额小于等于100元,则只需要验证otp”可以确定第一上下文参数对应的第一验证项为otp,第二上下文参数对应的第二验证项为身份信息和otp,两者存在不同,且在步骤203中终端设备并没有执行身份信息的验证,因此服务器可以判定该操作请求的验证未通过,即拒绝相应的充值操作。
99.可选的,在根据所述第二上下文参数确定对应的第二验证项之后,还可以包括:
100.(1)若所述第二验证项和所述第一验证项存在不同,则将所述第二验证项包含的与所述第一验证项不同的验证项确定为待测验证项;
101.(2)发送所述待测验证项的验证请求至所述终端设备;
102.(3)在接收到所述终端设备基于所述待测验证项的验证请求返回的第二验证信息后,对所述第二验证信息进行验证;
103.(4)若所述第二验证信息验证通过,则确定所述操作请求验证通过,否则确定所述操作请求验证未通过。
104.若第二上下文参数对应的第二验证项和第一上下文参数对应的第一验证项存在不同,除了直接判定验证不通过外,还可以采用对未验证项进行重新验证的方式。例如,在上述例子中,第二验证项包含的与第一验证项不同的待测验证项为身份信息,此时服务器可以发送身份信息的验证请求至终端设备,要求用户录入身份信息。然后,服务器会对录入
的身份信息进行验证,若身份信息验证通过,则服务器可以判定该操作请求的验证通过,否则判定该操作请求的验证未通过。通过这样设置,在保证验证安全合法的情况下,也能够避免无谓的重复验证过程,节省验证操作的时间。
105.在本技术实施例的另一种实现方式中,在验证所述第二令牌和所述第一令牌是否一致,以及验证所述第二上下文参数和所述第一上下文参数是否一致之后,还可以包括:
106.(1)若所述第二令牌和所述第一令牌一致,且所述第二上下文参数和所述第一上下文参数不一致,则统计所述第二上下文参数和所述第一上下文参数之间的参数差值;
107.(2)根据所述第一验证项的数量和所述参数差值确定所述操作请求的验证结果。
108.在本技术实施例的另一种实现方式中,若第二上下文参数和第一上下文参数不一致,服务器可以统计篡改的参数差值,然后根据该参数差值以及已经完成验证的第一验证项的数量确定是否通过该操作请求的验证。例如,若该参数差值较小,且已完成验证的第一验证项的数量较多,则表示终端设备的用户已经完成了比较全面的验证,且篡改的上下文参数的幅度较小,不会产生实际的负面影响,因此服务器可以判定该操作请求的验证通过。反之,若该参数差值较大,或者已完成验证的第一验证项的数量较少,则表示终端设备的用户完成的验证项目有限,且篡改的上下文参数的幅度较大,有可能产生不良影响,因此服务器可以判定该操作请求的验证未通过。
109.若所述第二令牌和所述第一令牌一致,且所述第二上下文参数和所述第一上下文参数一致,则执行步骤207,否则执行步骤208。
110.207、确定所述操作请求验证通过;
111.第二令牌和第一令牌一致,且第二上下文参数和第一上下文参数一致,则表明终端设备没有篡改数据,此时服务器可以确定该操作请求的验证通过,允许执行相应的操作,例如允许完成交易或者修改账号密码的操作。
112.208、确定所述操作请求验证未通过。
113.第二令牌和第一令牌不一致,或者第二上下文参数和第一上下文参数不一致,则表明终端设备篡改了数据,此时服务器可以确定该操作请求的验证未通过,不允许执行相应的操作,并可以输出相应的指示信息至终端设备,提示用户可以重新发起操作请求。
114.本技术实施例提出的验证方法首先由终端设备发起操作请求,服务器在接收到操作请求之后,会根据该操作请求的上下文参数确定对应的验证项,并于本地存储该上下文参数;然后,服务器发送该验证项的验证请求至终端设备,终端设备基于该验证请求返回相应的验证信息;接着,服务器对接收到的验证信息进行验证,若验证通过则生成一个令牌,将该令牌发送给终端设备,另外服务器本地也会存储该令牌;终端设备在接收到服务器发送的令牌之后,会发送相应的令牌和上下文参数至服务器进行验证,这里存在两种情况:(1)若终端设备侧没有对令牌和上下文参数进行篡改,则此时发送的令牌和服务器存储的令牌是一致的,且此时发送的上下文参数和服务器存储的上下文参数也是一致的,这种情况下服务器会判定该操作请求验证通过;(2)若终端设备侧对令牌或者上下文参数进行了篡改,则会出现终端设备发送的令牌和服务器存储的令牌不一致,或者终端设备发送的上下文参数和服务器存储的上下文参数不一致的情况,这种情况下服务器会判定该操作请求验证未通过。由此可见,本技术实施例在验证项信息验证通过后,能够有效识别上下文参数被篡改的风险,从而提高操作请求验证的安全性。
115.请参阅图3,本技术实施例中一种应用于终端设备的操作请求的验证方法的一个实施例包括:
116.301、发送操作请求至服务器,以指示所述服务器根据所述操作请求的第一上下文参数确定对应的第一验证项,并于所述服务器本地存储所述第一上下文参数;
117.用户在终端设备登录后可以发起各类操作请求,该操作请求会发送至相应的服务器,用于指示该服务器根据该操作请求的第一上下文参数确定对应的第一验证项。而且,确定的验证项以及该第一上下文参数会存储在服务器本地。
118.302、在接收到所述服务器返回的所述第一验证项的验证请求之后,发送第一验证信息至所述服务器,以指示所述服务器对所述第一验证信息进行验证,并在所述第一验证信息验证通过后,于所述服务器本地生成并存储第一令牌;
119.服务器会返回该第一验证项的验证请求,由终端设备的用户根据该验证请求录入相应的第一验证信息。之后,终端设备会将录入的第一验证信息发送至服务器,由服务器对该第一验证信息进行验证。若该第一验证信息验证通过,则服务器会在本地生成并存储一个令牌(第一令牌)。
120.303、在接收到所述服务器返回的所述第一令牌之后,发送第二令牌以及所述操作请求的第二上下文参数至所述服务器,以指示所述服务器验证所述第二令牌和所述第一令牌是否一致,以及验证所述第二上下文参数和所述第一上下文参数是否一致,并在所述第二令牌和所述第一令牌验证一致且所述第二上下文参数和所述第一上下文参数验证一致后,确定所述操作请求验证通过。
121.服务器在生成第一令牌之后,会将该第一令牌发送至终端设备。接下来,终端设备会重新向服务器发送该接收到的令牌(称作第二令牌)以及该操作请求的上下文参数(称作第二上下文参数)。在这里,若终端设备(非法用户)没有篡改接收到的令牌以及该操作请求的上下文参数,则向服务器发送的第二令牌和该第一令牌是一致的,且当前发送的第二上下文参数和步骤301中服务端存储的第一上下文参数也是一致的。然而,如果终端设备篡改了令牌,则会出现第二令牌和第一令牌不一致的情况,同样的,如果终端设备篡改了上下文参数,则会出现第二上下文参数和第一上下文参数不一致的情况。
122.在本技术实施例的一种实现方式中,所述终端设备包括用于发起所述操作请求的第一功能系统以及用于执行所述操作请求对应操作的第二功能系统,所述在接收到所述服务器返回的所述第一令牌之后,发送第二令牌以及所述操作请求的第二上下文参数至所述服务器,可以包括:
123.(1)通过所述第一功能系统接收所述服务器返回的第一令牌;
124.(2)通过所述第一功能系统将所述第一令牌传送至所述第二功能系统;
125.(3)通过所述第二功能系统将所述第二令牌和所述第二上下文参数发送至所述服务器。
126.例如,假设第一功能系统为服务a,第二功能系统为服务b,则上述步骤301-302中终端设备都是通过服务a与服务器对接。在步骤303中,服务器将第一令牌发送给终端设备的服务a,然后服务a会将该第一令牌传送给服务b,再由服务b将第二令牌和第二上下文参数发送至服务器。非法用户可以通过服务b(第二功能系统)篡改数据,也即服务b发送的第二令牌不一定是服务a接收到的第一令牌,服务b发送的第二上下文参数不一定与步骤301
中服务a发送的第一上下文参数一致。
127.服务器在接收到终端设备发送的第二令牌和第二上下文参数之后,分别将第二令牌和存储的第一令牌进行比较,将第二上下文参数和存储的第一上下文参数进行比较,也即验证第二令牌和第一令牌是否一致,以及验证第二上下文参数和第一上下文参数是否一致。若第二令牌和第一令牌一致,且第二上下文参数和第一上下文参数一致,则表明终端设备没有篡改数据,此时服务器可以确定该操作请求的验证通过。反之,若第二令牌和第一令牌不一致,或者第二上下文参数和第一上下文参数不一致,则表明终端设备篡改了数据,此时服务器可以确定该操作请求的验证未通过。
128.本技术实施例提出的验证方法首先由终端设备发起操作请求,服务器在接收到操作请求之后,会根据该操作请求的上下文参数确定对应的验证项,并于本地存储该上下文参数;然后,服务器发送该验证项的验证请求至终端设备,终端设备基于该验证请求返回相应的验证信息;接着,服务器对接收到的验证信息进行验证,若验证通过则生成一个令牌,将该令牌发送给终端设备,另外服务器本地也会存储该令牌;终端设备在接收到服务器发送的令牌之后,会发送相应的令牌和上下文参数至服务器进行验证,这里存在两种情况:(1)若终端设备侧没有对令牌和上下文参数进行篡改,则此时发送的令牌和服务器存储的令牌是一致的,且此时发送的上下文参数和服务器存储的上下文参数也是一致的,这种情况下服务器会判定该操作请求验证通过;(2)若终端设备侧对令牌或者上下文参数进行了篡改,则会出现终端设备发送的令牌和服务器存储的令牌不一致,或者终端设备发送的上下文参数和服务器存储的上下文参数不一致的情况,这种情况下服务器会判定该操作请求验证未通过。由此可见,本技术实施例在验证项信息验证通过后,能够有效识别上下文参数被篡改的风险,从而提高操作请求验证的安全性。
129.为便于理解,下面以实际的应用场景来说明本技术实施例提出的操作请求的验证方法。
130.假设终端设备包含两个功能系统,分别为服务a和服务b,服务器部署着策略中心和验证中心(这两个中心可以部署在不同的服务器,也可以部署在同一个服务器)。若用户想要发起一笔话费充值交易,则可以通过以下步骤完成验证:
131.1.服务a发起一笔话费充值交易,将交易单号、手机号、充值金额等上下文参数上传给策略中心;
132.2.策略中心设置了规则:充值金额如果大于100元,需要验证身份信息和otp;如果小于等于100元,只需要验证otp;
133.3.策略中心将交易单号、手机号、充值金额等上下文参数以及返回给服务a的验证项存储起来,并发送验证请求给服务a;
134.4.服务a将需要验证的验证项展示给用户,用户输入验证项的完整验证信息后,服务a上送给验证中心,验证中心验证用户输入的验证项信息无误后,颁发令牌给服务a;另外,验证中心将令牌和上下文参数关联存储起来;
135.5.服务a将令牌传递给服务b,服务b将令牌和交易单号等上下文参数上传给验证中心(在这个步骤中,服务b有可能对令牌和/或上下文参数进行篡改),验证中心验证令牌及上下文信息正确(即与之前存储的令牌和上下文参数一致,表示未篡改数据)后,服务b调用交易核心等其他系统进行扣款等最终操作。
136.综上所述,本技术实施例通过添加令牌和关键上下文参数的校验操作,能够保证请求的完整性和信息的安全性,避免数据被篡改的风险。这种新型的验证方式在有效保证用户在交易环节的安全性的同时,也给了用户良好的操作体验。
137.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
138.对应于上文实施例所述的操作请求的验证方法,图4示出了本技术实施例提供的一种应用于服务器的操作请求的验证装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
139.参照图4,该装置包括:
140.第一验证项确定模块401,用于在接收到终端设备发送的操作请求后,根据所述操作请求的第一上下文参数确定对应的第一验证项,并于所述服务器本地存储所述第一上下文参数;
141.第一验证请求发送模块402,用于发送所述第一验证项的验证请求至所述终端设备;
142.第一信息验证模块403,用于在接收到所述终端设备基于所述第一验证项的验证请求返回的第一验证信息后,对所述第一验证信息进行验证;
143.第一令牌发送模块404,用于若所述第一验证信息验证通过,则于所述服务器本地生成并存储第一令牌,以及将所述第一令牌发送至所述终端设备;
144.验证参数接收模块405,用于接收所述终端设备返回的第二令牌以及所述操作请求的第二上下文参数;
145.参数验证模块406,用于验证所述第二令牌和所述第一令牌是否一致,以及验证所述第二上下文参数和所述第一上下文参数是否一致;
146.第一请求验证模块407,用于若所述第二令牌和所述第一令牌一致,且所述第二上下文参数和所述第一上下文参数一致,则确定所述操作请求验证通过。
147.在本技术实施例的一种实现方式中,所述操作请求的验证装置还可以包括:
148.第二验证项确定模块,用于若所述第二令牌和所述第一令牌一致,且所述第二上下文参数和所述第一上下文参数不一致,则根据所述第二上下文参数确定对应的第二验证项;
149.第二请求验证模块,用于若所述第二验证项和所述第一验证项完全相同,则确定所述操作请求验证通过。
150.进一步的,所述操作请求的验证装置还可以包括:
151.第三请求验证模块,用于若所述第二验证项和所述第一验证项存在不同,则确定所述操作请求验证未通过;
152.或者,
153.待测验证项确定模块,用于若所述第二验证项和所述第一验证项存在不同,则将所述第二验证项包含的与所述第一验证项不同的验证项确定为待测验证项;
154.第二验证请求发送模块,用于发送所述待测验证项的验证请求至所述终端设备;
155.第二信息验证模块,用于在接收到所述终端设备基于所述待测验证项的验证请求
返回的第二验证信息后,对所述第二验证信息进行验证;
156.第四请求验证模块,用于若所述第二验证信息验证通过,则确定所述操作请求验证通过,否则确定所述操作请求验证未通过。
157.在本技术实施例的一种实现方式中,所述操作请求的验证装置还可以包括:
158.参数差值统计模块,用于若所述第二令牌和所述第一令牌一致,且所述第二上下文参数和所述第一上下文参数不一致,则统计所述第二上下文参数和所述第一上下文参数之间的参数差值;
159.第五请求验证模块,用于根据所述第一验证项的数量和所述参数差值确定所述操作请求的验证结果。
160.在本技术实施例的一种实现方式中,所述第一令牌包含有效时间和验证标记符,所述操作请求的验证装置还可以包括:
161.令牌有效性检验模块,用于检验当前时间是否超出所述有效时间,以及检验所述验证标记符是否为未验证状态;
162.第六请求验证模块,用于若当前时间未超出所述有效时间,且所述验证标记符为未验证状态,则将所述验证标记符设置为已验证状态,并执行验证所述第二令牌和所述第一令牌是否一致的步骤以及后续步骤;
163.第七请求验证模块,用于若当前时间超出所述有效时间,或者所述验证标记符为已验证状态,则确定所述操作请求验证未通过。
164.图5示出了本技术实施例提供的一种应用于终端设备的操作请求的验证装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
165.参照图5,该装置包括:
166.操作请求发送模块501,用于发送操作请求至服务器,以指示所述服务器根据所述操作请求的第一上下文参数确定对应的第一验证项,并于所述服务器本地存储所述第一上下文参数;
167.验证信息发送模块502,用于在接收到所述服务器返回的所述第一验证项的验证请求之后,发送第一验证信息至所述服务器,以指示所述服务器对所述第一验证信息进行验证,并在所述第一验证信息验证通过后,于所述服务器本地生成并存储第一令牌;
168.验证参数发送模块503,用于在接收到所述服务器返回的所述第一令牌之后,发送第二令牌以及所述操作请求的第二上下文参数至所述服务器,以指示所述服务器验证所述第二令牌和所述第一令牌是否一致,以及验证所述第二上下文参数和所述第一上下文参数是否一致,并在所述第二令牌和所述第一令牌验证一致且所述第二上下文参数和所述第一上下文参数验证一致后,确定所述操作请求验证通过。
169.在本技术的一个实施例中,所述终端设备包括用于发起所述操作请求的第一功能系统以及用于执行所述操作请求对应操作的第二功能系统,所述验证参数发送模块可以包括:
170.令牌接收单元,用于通过所述第一功能系统接收所述服务器返回的第一令牌;
171.令牌传送单元,用于通过所述第一功能系统将所述第一令牌传送至所述第二功能系统;
172.令牌及参数发送单元,用于通过所述第二功能系统将所述第二令牌和所述第二上
下文参数发送至所述服务器。
173.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如图2或图3表示的任意一种操作请求的验证方法。
174.本技术实施例还提供一种计算机程序产品,当该计算机程序产品在服务器或终端设备上运行时,使得服务器或终端设备实现如图2或图3表示的任意一种操作请求的验证方法。
175.图6是本技术一实施例提供的服务器的示意图。如图6所示,该实施例的服务器6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机可读指令62。所述处理器60执行所述计算机可读指令62时实现上述各个操作请求的验证方法实施例中的步骤,例如图2所示的步骤201至208。或者,所述处理器60执行所述计算机可读指令62时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块401至407的功能。
176.示例性的,所述计算机可读指令62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令62在所述服务器6中的执行过程。
177.所述服务器6可以是智能手机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器6可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是服务器6的示例,并不构成对服务器6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器6还可以包括输入输出设备、网络接入设备、总线等。
178.所述处理器60可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
179.所述存储器61可以是所述服务器6的内部存储单元,例如服务器6的硬盘或内存。所述存储器61也可以是所述服务器6的外部存储设备,例如所述服务器6上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器61还可以既包括所述服务器6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机可读指令以及所述服务器所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
180.需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
181.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的
功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
182.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。
183.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
184.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献