token泄露校验方法、装置及存储介质与流程

文档序号:29813977发布日期:2022-04-27 09:15阅读:495来源:国知局
token泄露校验方法、装置及存储介质与流程

1.本发明实施例涉及数据安全技术领域,尤其涉及一种token泄露校验方法、装置及存储介质。


背景技术:

2.http协议(超文本传输协议,hyper text transfer protocol)是一种用于分布式、协作式和超媒体信息系统的应用层协议;是万维网的数据通信的基础。当我们打开浏览器浏览网页或使用手机软件时,大量的数据都是通过http协议在客户端和服务端之间传输的。
3.token即令牌。由于http协议是无状态的,所以服务端无法知道某次请求是由哪个用户发起的。而token是表明某一次http请求由谁发起的证明。通常客户端程序在登录成功后会收到服务端程序返回的token,其中包含了登录用户的唯一的身份标识,有效期等信息并由服务端进行了加密。后续客户端向后端发送的所有http请求都必须带上token。服务端收到请求后将对token解密,并根据解密结果来确定该请求的有效性。
4.由于http协议本身是不加密的,第三方客户端仅需截获代表token的字符串即可仿造用户身份,此时用户的数据安全无法得到保障,因此服务端通常会记录用户登录后的操作,记录在日志中,当用户查阅日志发现存在异常操作以后,才能发现token泄露,然而大部分用户缺乏查询日志的习惯,通常发现泄露后距离泄露时的间隔时间较长,此时数据已经泄露,且日志存在被篡改的可能性,数据安全依然得不到保障。


技术实现要素:

5.本发明实施例提供一种token泄露校验方法,以预设时间间隔对token的泄露情况进行校验,及时发现token的泄露情况,解决了现有技术中发现泄露后距离泄露时的间隔时间较长,此时数据已经泄露的技术问题,达到了保障数据安全的技术效果。
6.本发明提供了一种token泄露校验方法,包括:
7.响应于目标客户端发起的登录请求,校验目标客户端的登录信息,当校验通过时向目标客户端发送公钥及token;
8.响应于目标客户端返回的包含token的通讯数据及校验信息,使用私钥解密目标客户端的校验信息,并根据包含token的通讯数据及解密后的校验信息,记录与目标客户端通讯的接收次数;
9.根据解密后的校验信息得到目标客户端发送通讯数据的发起次数,当接收次数大于发起次数时,判断目标客户端的token已经泄露。
10.优选地,还包括:
11.拒绝目标客户端的所有请求,向目标客户端发送登录页面;
12.校验目标客户端返回的登录信息,当校验通过时,向目标客户端发送新的公钥及新的token。
13.优选地,响应于目标客户端发起的登录请求,校验目标客户端的登录信息,当校验通过时向目标客户端发送公钥及token的步骤具体包括:
14.响应于目标客户端发起的登录请求,获取目标客户端发送的登录信息,并根据rsa算法生成密钥对;
15.根据登录信息获取目标客户端发送的用户名、密码及目标客户端的设备号;
16.将目标客户端发送的用户名及密码与数据库中存储的用户名及密码进行比对,当用户名及密码正确时,根据客户端的设备号生成token;
17.向目标客户端发送生成的token及公钥。
18.优选地,响应于目标客户端返回的包含token的通讯数据及校验信息,使用私钥解密目标客户端的校验信息,并根据包含token的通讯数据及解密后的校验信息,记录与目标客户端通讯的接收次数的步骤具体包括:
19.接收目标客户端返回的包含token的通讯数据及校验信息;
20.使用私钥解密目标客户端的校验信息,根据解密后的校验信息获取开始记录命令及结束记录命令;
21.记录开始记录命令及结束记录命令之间与目标客户端通讯的接收次数。
22.优选地,根据解密后的校验信息得到目标客户端发送通讯数据的发起次数,当接收次数大于发起次数时,判断目标客户端的token已经泄露的步骤具体包括:
23.根据解密后的校验信息获取目标客户端在开始记录命令及结束记录命令之间与目标客户端通讯的发起次数;
24.当接收次数大于发起次数时,判断目标客户端的token已经泄露。
25.优选地,包括:
26.向目标服务端发送登录请求,当登录成功时接收目标服务端发送的公钥及token;
27.使用公钥加密包含开始记录命令的校验信息,并使用token发送加密后的校验信息及通讯数据;
28.预设时间后使用公钥加密包含停止记录命令及发起次数的校验信息,并使用token发送加密后的校验信息及通讯数据;发起次数为,从开始记录命令至停止记录命令之间向客户端发起的通讯次数;
29.接收到服务端发送的登录页面,则判断token已经泄露。
30.优选地,还包括:
31.当超过预设间隔时间未接收到登录页面或校验通过信号时,向服务端使用公钥加密包含停止记录命令及发起次数的校验信息,并使用token发送加密后的校验信息及通讯数据;
32.当再次超过预设间隔时间未接收到登录页面或校验通过信号时,删除token及公钥,向服务端发送登录请求。
33.优选地,还包括:
34.使用公钥加密包含不记录命令的校验信息,并使用token发送加密后的校验信息及通讯数据;
35.使用公钥加密包含随机字符串的校验信息,并使用token发送加密后的校验信息及通讯数据。
36.本发明还提出一种token泄露校验装置,token泄露校验装置包括:存储器、处理器及存储在存储器上并可在处理器上运行token泄露校验程序,token泄露校验程序被处理器执行时实现如上的token泄露校验方法。
37.本发明还提出一种可读存储介质,可读存储介质上存储有token泄露校验程序,token泄露校验程序被处理器执行时实现如上的token泄露校验方法的步骤。
38.本发明通过记录与客户端的接收通讯数据的接收次数,并将其与客户端发送通讯数据的发送次数进行比较的方式,将接收次数大于发送次数的情况,视为第三方使用客户端的token与服务端通信,及时发现token泄露,解决了现有技术中发现泄露后距离泄露时的间隔时间较长,此时数据已经泄露的技术问题,达到了保障数据安全的技术效果。
附图说明
39.图1是本发明任务自动配置方法中一实施例的流程示意图;
40.图2是本发明任务自动配置方法中另一实施例的流程示意图;
41.图3是本发明任务自动配置方法中另一实施例的流程示意图;
42.图4是本发明实施例中的装置结构示意图。
具体实施方式
43.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
44.图1为本发明实施例提供的一种token泄露校验方法的流程图,具体包括:
45.s100、响应于目标客户端发起的登录请求,校验目标客户端的登录信息,当校验通过时向目标客户端发送公钥及token;
46.需要说明的是,登录的过程还包括服务端下发登录页面,客户端在登录页面上填写账号和密码,服务端接收账号和密码后对账号及密码进行验证,该过程与现有的技术方案一致,还可采用现有的其它登录方法具体的登录步骤及账号和密码的安全保障方法,存在较多的现有技术,均可在无需额外创造性劳动的前提下应用至本技术技术方案,在此不再一一赘述。
47.s200、响应于目标客户端返回的包含token的通讯数据及校验信息,使用私钥解密目标客户端的校验信息,并根据包含token的通讯数据及解密后的校验信息,记录与目标客户端通讯的接收次数;
48.值得强调的是,本技术通过校验信息验证token是否泄露,由于开始记录及停止记录的命令位于校验信息中,因此要获取与目标客户端通讯的接收次数,则需先解密校验信息,并根据校验信息中的命令开始记录及停止记录后,才可得到与目标客户端通讯的接收次数。
49.s300、根据解密后的校验信息得到目标客户端发送通讯数据的发起次数,当接收次数大于发起次数时,判断目标客户端的token已经泄露。
50.需要强调的是,由于网络故障可能造成丢包的情况,正常情况下会有部分通讯数据发出后,服务端未接收到的情况,而不会有服务端重复接收的情况,因此,在token未泄露
的情况下,服务端的接收次数必然小于客户端的发送次数,数据在没有发出的情况下,服务端无法接收到数据,因此若服务端的接收次数大于客户端的发送次数时,则判断存在第三方使用token发送通讯数据至服务端,即token已经泄露。
51.本实施例的技术方案,通过记录与客户端的接收通讯数据的接收次数,并将其与客户端发送通讯数据的发送次数进行比较的方式,将接收次数大于发送次数的情况,视为第三方使用客户端的token与服务端通信,及时发现token泄露,解决了现有技术中发现泄露后距离泄露时的间隔时间较长,此时数据已经泄露的技术问题,达到了保障数据安全的技术效果。
52.参照图2,图2是本发明任务自动配置方法中另一实施例的流程示意图,本发明所提供的token泄露校验方法除了上述步骤s100-s300还包括以下步骤:
53.s400、拒绝目标客户端的所有请求,向目标客户端发送登录页面;
54.易于理解的是,当token泄露时,为避免用户数据泄露,此时无论是客户端发送的请求还是第三方发送的请求,服务端均拒绝,由于服务端根据token确定目标客户端,因此第三方在服务端眼中也为目标客户端,因此此处的执行逻辑为拒绝目标客户端的所有请求,其实质为,拒绝目标客户端及第三方的所有请求。
55.需要说明的是,此时目标客户端仍有通讯需求,然而账号密码并未泄露,因此可以向目标客户端发送登录页面,通过账号和密码验证目标客户端的身份信息。
56.s500、校验目标客户端返回的登录信息,当校验通过时,向目标客户端发送新的公钥及新的token。
57.需要说明的是,由于token已经泄露,因此在验证目标客户端的身份信息后,下发新的token继续与目标客户端进行通讯,此时由于第三方的token为旧的token,可被服务端识别,以拒绝第三方的通讯,保障数据安全。
58.参照图3,图3是本发明任务自动配置方法中另一实施例的流程示意图。
59.响应于目标客户端发起的登录请求,校验目标客户端的登录信息,当校验通过时向目标客户端发送公钥及token的步骤具体包括:
60.s110、响应于目标客户端发起的登录请求,获取目标客户端发送的登录信息,并根据rsa算法生成密钥对;
61.需要说明的是,rsa算法是一种非对称的加密算法,它通常是先生成一对rsa密钥,其中之一是私钥,即保密密钥,由服务端保存;另一个为公开密钥即公钥,可对外公开,在本实施例中下发至目标客户端;要加密传输内容时,比如客户端要给服务端传输信息,此时客户端先用服务端给的公钥将内容加密后传输,服务端收到客户端传输过来的信息后用自己的私钥解密。该过程中,只要服务端不泄露自己的私钥,那么就算第三方截取到了该信息,没有服务端的私钥也无法解密获得内容信息,该加密方式即使使用http这种不加密的传输协议,但由于在http协议传输的数据本身是加密的,因此即使被截取,也需要进行完整的解密步骤后才能获取真实的传输信息。
62.s120、根据登录信息获取目标客户端发送的用户名、密码及目标客户端的设备号;
63.值得强调的是,通常token优先根据客户端的设备号生成,且获取设备号后可分析是否为常用设备,对于的调整开始记录命令及结束记录命令的间隔时间有一定的帮助,能够一定程度上降低检测频率,从而减少服务端的计算及存储压力。
64.s130、将目标客户端发送的用户名及密码与数据库中存储的用户名及密码进行比对,当用户名及密码正确时,根据客户端的设备号生成token;
65.值得说明的是,上述步骤包括常规的验证用户名及密码是否正确的步骤,及生成token的步骤,现有技术中还存在将用户名及密码发送至数据库,由数据库对用户名及密码进行比对的方式,能够对用户名及密码进行验证的方式,本实施例通过先验证用户名及密码再生成token的方式,避免用户名及密码验证失败后生成的token无效只能删除造成计算资源浪费的问题,降低了服务端的计算压力。
66.s140、向目标客户端发送生成的token及公钥。
67.易于理解的是,公钥还可用来加密通讯数据,当数据量大时,计算性能的要求会随之上升,因此通讯数据中的指令数据等不存在隐私泄露的无需保密的数据可不进行加密发送至服务端。
68.具体地,响应于目标客户端返回的包含token的通讯数据及校验信息,使用私钥解密目标客户端的校验信息,并根据包含token的通讯数据及解密后的校验信息,记录与目标客户端通讯的接收次数的步骤具体包括:
69.接收目标客户端返回的包含token的通讯数据及校验信息;
70.需要说明的是,服务端根据接收到的token识别不同的客户端发送的数据,以实现和多个客户端同时通讯,因此客户端返回的数据中需要包含token,而通讯数据及校验数据可打包为一个数据进行传输,其中校验数据是必须加密的,而通讯数据可以不加密。
71.使用私钥解密目标客户端的校验信息,根据解密后的校验信息获取开始记录命令及结束记录命令;
72.值得强调的是,当客户端使用token通讯一段时间后,此时token已经有泄露的风险时,客户端就会向服务端发送开始记录命令;服务端则会根据开始记录命令开始记录,直至接收到停止记录命令。
73.记录开始记录命令及结束记录命令之间与目标客户端通讯的接收次数。
74.易于理解的是,停止记录命令和发起次数是通过同一个校验信息发送至服务端的,因此在接收到停止记录命令后即可得到token是否泄露,无需再进行额外的通讯。
75.具体的,根据解密后的校验信息得到目标客户端发送通讯数据的发起次数,当接收次数大于发起次数时,判断目标客户端的token已经泄露的步骤具体包括:
76.根据解密后的校验信息获取目标客户端在开始记录命令及结束记录命令之间与目标客户端通讯的发起次数;
77.值得强调的是,发起次数由客户端进行统计,通过校验信息发送至服务端,发起次数同样统计的是客户端发出开始记录命令及发出结束记录命令之间沟通时存在通讯数据的次数。
78.当接收次数大于发起次数时,判断目标客户端的token已经泄露。
79.需要说明的是,由于不存在信息还未发出就先被接收到的情况,再考虑到数据传输过程中的丢包等情况,发起次数应当时大于接收次数的,即使无丢包,发起次数也应当等于接收次数,只有存在第三方使用目标客户端的token与服务端通信时,才会出现接收次数大于发起次数的情况。
80.本实施例通过公开token泄露后的处理方法,完善了技术方案,同时使用rsa算法
生成密钥对的方式,进一步提高了数据的安全性,也进一步细化了数据传输过程中的安全性,最大程度降低了本技术校验信息被修改的可能,提升了使用体验。
81.本实施例还提出一种token泄露校验方法,包括:
82.向目标服务端发送登录请求,当登录成功时接收目标服务端发送的公钥及token;
83.易于理解的是,客户端需获取token后才可无需每次都输入账户及密码就可以用数据库中存储的身份访问服务端,而公钥则可用来加密校验信息,保障校验信息在http协议传输的安全性。
84.使用公钥加密包含开始记录命令的校验信息,并使用token发送加密后的校验信息及通讯数据;
85.需要说明的是,公钥也可加密通讯数据,然而通讯数据存在隐私数据及指令类的数据,而指令类的数据并不需要加密传输,现有的加密算法也能够一定程度地保护隐私数据的传输安全,因此通讯数据无需使用公钥加密,当然,为保障隐私安全,也可将隐私数据使用公钥加密后再发送至服务端。
86.预设时间后使用公钥加密包含停止记录命令及发起次数的校验信息,并使用token发送加密后的校验信息及通讯数据;发起次数为,从开始记录命令至停止记录命令之间向客户端发起的通讯次数;
87.值得强调的是,通讯数据并不是每次都会有的,停止记录命令或开始记录命令可以脱离通讯数据直接发送至服务端,然而发起次数及接收次数的统计仅统计包含通讯数据的次数,以减少数据的总量,降低计算量。
88.接收到服务端发送的登录页面,则判断token已经泄露。
89.值得说明的是,当接收次数大于发起次数时,服务端会判断token已经泄露此时会下发登录页面,引导用户重新登录,以确认用户身份,因此当客户端接收到登录页面时,则可得知token已经泄露。
90.具体地,还包括:
91.当超过预设间隔时间未接收到登录页面或校验通过信号时,向服务端使用公钥加密包含停止记录命令及发起次数的校验信息,并使用token发送加密后的校验信息及通讯数据;
92.易于理解的是,服务端下发的登录页面可能会因为丢包等网络不稳定的情况未被客户端接收到,或是发送至服务端的校验信息及通讯数据发生丢失,因此客户端可在超过预设间隔时间后向服务端重新发送校验信息及通讯数据。
93.当再次超过预设间隔时间未接收到登录页面或校验通过信号时,删除token及公钥,向服务端发送登录请求。
94.需要说明的是,再次超过预设间隔时间时,可能存在服务端认为token已丢失,因此不相应客户端命令的情况,因此在不适用token及公钥的情况下再次发送登录请求,由于服务端是通过token分辨不同的客户端,因此能够对不含token的登录请求进行响应。
95.具体的,还包括:
96.使用公钥加密包含不记录命令的校验信息,并使用token发送加密后的校验信息及通讯数据;
97.值得强调的是,由于校对信息是预设间隔时间就会向服务端发送的,不记录命令
的主要作用是保持和服务端的连接,避免长时间不连接后,服务端删去了客户端的token,造成了不必要的重复登录。
98.使用公钥加密包含随机字符串的校验信息,并使用token发送加密后的校验信息及通讯数据。
99.需要说明的是,通常校验信息会使用0、1等简单的字符代表开始记录命令及结束记录命令,这样的简单字符即使加密后,也容易被找到规律,因此通过增加随机字符串的方式,混淆加密结果,进一步保障传输过程中的数据安全。
100.本实施例通过公开客户端的执行方法,完善了技术方案,一定程度上降低了服务端的计算量,提高服务端的计算效率,同时通过引入不记录命令避免了不必要的重复登录,提升了用户体验,同时使用随机字符串混淆校验信息的加密结果,进一步保障了数据传输过程中的安全性,从而保障了用户隐私数据的安全性,进一步保障了数据安全。
101.如图4所示,图4是本发明另一实施例的装置结构示意图。该装置包括处理器70、存储器71、输入装置72和输出装置73;服务器中处理器70的数量可以是一个或多个,图4中以一个处理器70为例;服务器中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图4中以通过总线连接为例。
102.存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的token泄露校验方法对应的程序指令。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的token泄露校验方法。
103.存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
104.输入装置72可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示服务器。
105.本实施例具备执行方法相应的功能模块和有益效果,在此不再一一赘述。
106.本发明实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种token泄露校验方法,该方法包括:
107.响应于目标客户端发起的登录请求,校验目标客户端的登录信息,当校验通过时向目标客户端发送公钥及token;
108.响应于目标客户端返回的包含token的通讯数据及校验信息,使用私钥解密目标客户端的校验信息,并根据包含token的通讯数据及解密后的校验信息,记录与目标客户端通讯的接收次数;
109.根据解密后的校验信息得到目标客户端发送通讯数据的发起次数,当接收次数大于发起次数时,判断目标客户端的token已经泄露。
110.具体地,还包括:
111.拒绝目标客户端的所有请求,向目标客户端发送登录页面;
112.校验目标客户端返回的登录信息,当校验通过时,向目标客户端发送新的公钥及新的token。
113.具体地,响应于目标客户端发起的登录请求,校验目标客户端的登录信息,当校验通过时向目标客户端发送公钥及token的步骤具体包括:
114.响应于目标客户端发起的登录请求,获取目标客户端发送的登录信息,并根据rsa算法生成密钥对;
115.根据登录信息获取目标客户端发送的用户名、密码及目标客户端的设备号;
116.将目标客户端发送的用户名及密码与数据库中存储的用户名及密码进行比对,当用户名及密码正确时,根据客户端的设备号生成token;
117.向目标客户端发送生成的token及公钥。
118.具体地,响应于目标客户端返回的包含token的通讯数据及校验信息,使用私钥解密目标客户端的校验信息,并根据包含token的通讯数据及解密后的校验信息,记录与目标客户端通讯的接收次数的步骤具体包括:
119.接收目标客户端返回的包含token的通讯数据及校验信息;
120.使用私钥解密目标客户端的校验信息,根据解密后的校验信息获取开始记录命令及结束记录命令;
121.记录开始记录命令及结束记录命令之间与目标客户端通讯的接收次数。
122.具体地,根据解密后的校验信息得到目标客户端发送通讯数据的发起次数,当接收次数大于发起次数时,判断目标客户端的token已经泄露的步骤具体包括:
123.根据解密后的校验信息获取目标客户端在开始记录命令及结束记录命令之间与目标客户端通讯的发起次数;
124.当接收次数大于发起次数时,判断目标客户端的token已经泄露。
125.具体地,包括:
126.向目标服务端发送登录请求,当登录成功时接收目标服务端发送的公钥及token;
127.使用公钥加密包含开始记录命令的校验信息,并使用token发送加密后的校验信息及通讯数据;
128.预设时间后使用公钥加密包含停止记录命令及发起次数的校验信息,并使用token发送加密后的校验信息及通讯数据;发起次数为,从开始记录命令至停止记录命令之间向客户端发起的通讯次数;
129.接收到服务端发送的登录页面,则判断token已经泄露。
130.具体地,还包括:
131.当超过预设间隔时间未接收到登录页面或校验通过信号时,向服务端使用公钥加密包含停止记录命令及发起次数的校验信息,并使用token发送加密后的校验信息及通讯数据;
132.当再次超过预设间隔时间未接收到登录页面或校验通过信号时,删除token及公钥,向服务端发送登录请求。
133.具体地,还包括:
134.使用公钥加密包含不记录命令的校验信息,并使用token发送加密后的校验信息及通讯数据;
135.使用公钥加密包含随机字符串的校验信息,并使用token发送加密后的校验信息及通讯数据。
136.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的token泄露校验方法中的相关操作,具备执行方法相应的功能模块和有益效果,在此不再一一赘述。
137.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
138.值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
139.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1