业务数据提供方法、装置、设备及计算机可读存储介质与流程

文档序号:18267501发布日期:2019-07-27 09:18阅读:141来源:国知局
业务数据提供方法、装置、设备及计算机可读存储介质与流程

本发明涉及安全防护技术领域,尤其涉及一种业务数据提供方法、装置、设备及计算机可读存储介质。



背景技术:

业务系统作为处理业务的线上系统,其中流转有大量的敏感业务数据,业务系统的安全至关重要。然而,一些非法用户会通过伪造url(uniform/universalresourcelocator,统一资源定位符)的方式从业务系统爬取业务数据,导致业务数据泄露。



技术实现要素:

本发明的主要目的在于提供一种业务数据提供方法、装置、设备及计算机可读存储介质,旨在保障业务数据的安全。

为实现上述目的,本发明提供一种业务数据提供方法,所述业务数据提供方法应用于业务系统前端控制器,所述业务数据提供方法包括以下步骤:

在业务系统前端接收到统一资源定位符url请求时,判断所述url请求是否由认证用户触发;

若是,则提取所述url请求中的明文查询参数,并对所述明文查询参数进行加密运算,得到密文查询参数;

将所述url请求中的明文查询参数替换为所述密文查询参数,得到加密url请求,并将所述加密url请求发送至业务系统服务器;

接收所述业务系统服务器基于所述加密url请求返回的相应业务数据,并在所述业务系统前端输出所述业务数据。

可选地,所述对所述明文查询参数进行加密运算,得到密文查询参数的步骤包括:

将所述明文查询参数转换成预设长度的数组;

通过预设对称加密算法对所述数组中的每个元素进行加密,得到加密数组;

对所述加密数组进行编码,得到编码数组;

遍历所述编码数组中的每个元素,确定所述编码数组中的易混元素,并按照预设映射关系,将所述编码数组中的易混元素替换为对应的预设字符,得到密文查询参数。

可选地,所述通过预设对称加密算法对所述数组中的每个元素进行加密,得到加密数组的步骤包括:

对所述预设对称加密算法的源密钥进行预处理,得到密钥;

使用所述密钥对所述数组中的每个元素进行加密,得到加密数组。

可选地,所述判断所述url请求是否由认证用户触发的步骤之后,还包括:

若否,则拦截所述url请求。

此外,为实现上述目的,本发明还提供一种业务数据提供方法,所述业务数据提供方法应用于业务系统服务器,所述业务数据提供方法包括以下步骤:

在接收到业务系统前端控制器发送的加密url请求时,对所述加密url请求进行解密验证;

在解密验证通过时,获取相应的业务数据返回至所述业务系统前端控制器,以使所述业务系统前端控制器在业务系统前端输出所述业务数据。

可选地,所述对所述加密url请求进行解密验证的步骤包括:

从所述加密url请求中提取出密文查询参数;

对所述密文查询参数进行所述加密运算的逆运算;

若通过所述逆运算将所述密文查询参数还原为明文查询参数,则确认解密验证通过。

可选地,所述对所述密文查询参数进行所述加密运算的逆运算的步骤包括:

遍历所述密文查询参数中的每个元素,从所述密文查询参数中查找出预设字符,并按照预设映射关系,将查找出的预设字符替换为对应的易混字符,得到待解码数组;

对所述待解码数组进行解码,得到解码数组;

通过预设对称加密算法对所述解码数组中的每个元素进行解密,得到解密数组;

将所述解密数组还原为明文查询参数。

此外,为实现上述目的,本发明还提供业务数据提供装置,所述业务数据提供装置包括:

判断模块,用于在业务系统前端接收到统一资源定位符url请求时,判断所述url请求是否由认证用户触发;

加密模块,用于若是,则提取所述url请求中的明文查询参数,并对所述明文查询参数进行加密运算,得到密文查询参数;

替换模块,用于将所述url请求中的明文查询参数替换为所述密文查询参数,得到加密url请求,并将所述加密url请求发送至业务系统服务器;

输出模块,用于接收所述业务系统服务器基于所述加密url请求返回的相应业务数据,并在所述业务系统前端输出所述业务数据。

此外,为实现上述目的,本发明还提供一种业务数据提供设备,所述业务数据提供设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的业务数据提供程序,其中所述业务数据提供程序被所述处理器执行时,实现如上述的业务数据提供方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有业务数据提供程序,其中所述业务数据提供程序被处理器执行时,实现如上述的业务数据提供方法的步骤。

本发明提出的业务数据提供方法,业务系统前端控制器首先会判断业务系统前端接收到的url请求是否由认证用户触发,实现了第一重安全防护,如果确认该url请求是由认证用户触发,则提取该url请求中的明文查询参数,对该明文查询参数进行加密运算,得到密文查询参数,然后将该url请求中的明文查询参数替换为该密文查询参数,得到加密url请求,之后,将该加密url请求发送至业务系统服务器,使得业务系统服务器基于该加密url请求返回相应的业务数据,实现了第二重的安全防护,如此,便可以为拥有业务系统访问和使用权限的认证用户提供业务数据,而防止恶意的数据爬取,保障了业务数据的安全。

附图说明

图1为本发明实施例方案中涉及的业务数据提供设备的硬件结构示意图;

图2为本发明业务数据提供方法第一实施例的流程示意图;

图3为本发明业务数据提供方法第二实施例的流程示意图;

图4为本发明业务数据提供装置第一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例涉及的业务数据提供方法主要应用于业务数据提供设备,该业务数据提供设备可以是个人计算机(personalcomputer,pc)、服务器等具有数据处理功能的设备。

参照图1,图1为本发明实施例方案中涉及的业务数据提供设备的硬件结构示意图。本发明实施例中,业务数据提供设备可以包括处理器1001(例如中央处理器centralprocessingunit,cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真wireless-fidelity,wi-fi接口);存储器1005可以是高速随机存取存储器(randomaccessmemory,ram),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

继续参照图1,图1中作为一种计算机存储介质的存储器1005可以包括操作系统、网络通信模块以及业务数据提供程序。在图1中,处理器1001可以调用存储器1005中存储的业务数据提供程序,并执行本发明各实施例提供的业务数据提供方法。

本发明实施例提供了一种业务数据提供方法。

参照图2,图2为本发明业务数据提供方法第一实施例的流程示意图。

本实施例中,所述业务数据提供方法应用于业务系统前端控制器,所述业务数据提供方法包括以下步骤:

步骤s10,在业务系统前端接收到统一资源定位符url请求时,判断所述url请求是否由认证用户触发;

步骤s20,若是,则提取所述url请求中的明文查询参数,并对所述明文查询参数进行加密运算,得到密文查询参数;

步骤s30,将所述url请求中的明文查询参数替换为所述密文查询参数,得到加密url请求,并将所述加密url请求发送至业务系统服务器;

步骤s40,接收所述业务系统服务器基于所述加密url请求返回的相应业务数据,并在所述业务系统前端输出所述业务数据。

业务系统作为处理业务的线上系统,其中流转有大量的敏感业务数据,业务系统的安全至关重要。然而,一些非法用户会通过伪造url的方式从业务系统爬取业务数据,导致业务数据泄露。对此,本实施例提供一种业务数据提供方法,可以为拥有业务系统访问和使用权限的用户提供业务数据,而防止恶意的数据爬取。

在本实施例中,业务系统具体可以用于处理房屋租售业务、保险业务、金融业务和投资业务等中的至少一种。业务系统包括前端控制器和服务器,前端控制器用于处理url请求和在业务系统前端输出业务数据,服务器用于管理业务数据。

以下是本实施例中实现业务数据提供的各个步骤:

步骤s10,在业务系统前端接收到统一资源定位符url请求时,判断所述url请求是否由认证用户发送;

在本实施例中,业务系统中的每种业务数据都有一个唯一的url(uniform/universalresourcelocator,统一资源定位符),访问业务系统的url请求包括传送协议、服务器(通常为域名,有时为ip地址)、端口号、路径和查询参数等组成部分,形如“https://www.admin5.com/article/details/56284237”,其中,末尾最后一个“/”字符后的明文数字“56284237”指的就是查询参数。当业务系统前端接收到url请求时,前端控制器首先进行第一重安全防护,判断该url请求是否是由认证用户触发的,认证用户指的是拥有业务系统访问和使用权限的用户。具体地,前端控制器中预先建立有认证用户信息库,该认证用户信息库中存储有认证用户的认证ip地址和用户id等信息。前端控制器判断业务系统前端接收到的url请求是否由认证用户触发的过程包括:将触发该url请求的ip地址和用户id,与认证用户信息库进行匹配,如果在认证用户信息库中,匹配到与触发该url请求的ip地址相符合的认证ip地址,或匹配到与触发该url请求的用户id相符合的用户id,则确认该url请求是由认证用户触发的。

步骤s20,若是,则提取所述url请求中的明文查询参数,并对所述明文查询参数进行加密运算,得到密文查询参数;

如果前端控制器确认该url请求是由认证用户触发的,则进行第二重安全防护,具体地,提取出url请求中的查询参数,然后对该查询参数进行加密运算,前端控制器对提取的查询参数进行加密运算的过程如下:

a、将明文数字的查询参数转换成预设长度的byte数组,该预设长度为固定长度,具体值为8位;

b、通过预设对称加密算法对byte数组中的每个元素进行加密,得到加密byte数组;

其中,该预设对称加密算法是前端控制器与服务器约定好的,具体可以为blowfish加密算法,blowfish加密算法是布鲁斯·施奈尔于1993年开发的区块加密算法,属于对称加密的一种,使用blowfish加密算法对byte数组中的每个元素进行加密,速度非常快,另外blowfish加密算法加密的密钥和解密的密钥是相同的,且每次加密之后的结果是不同的,加密后的数据也是可逆的。利用blowfish加密算法对查询参数中的每个数组元素进行加密的过程包括密钥预处理和加密,具体地,任意选择一个key,对blowfish算法的固定源密钥—pbox和sbox进行变换,得到下一步数据加密所要用的密钥key_pbox和key_sbox,之后,使用密钥key_pbox和key_sbox对byte数组中的每个元素进行加密,即可得到加密byte数组。

c、对加密byte数组进行编码,得到编码byte数组;

其中,编码方式是前端控制器中预先设定的base64,base64是用于传输8bit字节码的编码方式之一,是一种基于64个可打印字符来表示二进制数据的方法。

d、遍历编码byte数组中的每个元素,确定易混元素,并按照易混字符与预设字符之间的映射关系,将编码byte数组中的易混元素替换为预设字符,得到字符串密文,例如,将易混字符“=”替换成下划线“_”,将得到的字符串密文定义为密文查询参数。例如,通过上述处理,数字“1”,被加密为“jzr13fqdplk”;数字“2”,被加密为“1qfpcugueu4”;数字“17”,被加密为“z_o0kifslv0”,可以看出,经加密运算后得到的字符,毫无规律可循,很难模仿或伪造。

步骤s30,将所述url请求中的明文查询参数替换为所述密文查询参数,得到加密url请求,并将所述加密url请求发送至业务系统服务器;

在得到密文查询参数后,前端控制器将url请求中的查询参数替换为该密文查询参数,即得到加密url请求。由于密文查询参数是经过上述加密运算得到的,这种类型的加密url请求难以被模仿或伪造。之后,将加密url请求发送至服务器。

步骤s40,接收所述业务系统服务器基于所述加密url请求返回的相应业务数据,并在所述业务系统前端输出所述业务数据。

服务器在接收到该加密url请求时,对该加密url请求进行解密验证,即,业务系统服务器提取出加密url请求中的密文查询参数,然后对该密文查询参数进行加密运算的逆运算,如果经过逆运算,可以将密文查询参数还原成为明文数字的查询参数,服务器则确认解密验证通过,获取相应的业务数据返回至前端控制器,前端控制器则在业务系统前端输出该业务数据。如果经过逆运算,密文查询参数无法还原,或者还原成为一堆乱码,服务器则确认解密验证不通过,则拦截该恶意url请求。

通过上述方式,如果业务系统前端接收的不是认证用户的url请求,前端控制器会对其进行拦截,实现了第一重安全防护;即使模仿加密url请求格式的恶意请求能够送达服务器,由于服务器会对接收到的url请求进行解密验证,而恶意url请求不是基于本实施例中的加密运算方式得到的,针对恶意url请求的解密验证是无法通过的,服务器也会拦截该恶意url请求,实现了第二重安全防护,通过上述两重安全防护,极大程度地减少了业务数据被爬取的可能性,提升了业务系统的安全性,保障了业务数据的安全。

本实施例提出的业务数据提供方法,业务系统前端控制器首先会判断业务系统前端接收到的url请求是否由认证用户触发,实现了第一重安全防护,如果确认该url请求是由认证用户触发,则提取该url请求中的明文查询参数,对该明文查询参数进行加密运算,得到密文查询参数,然后将该url请求中的明文查询参数替换为该密文查询参数,得到加密url请求,之后,将该加密url请求发送至业务系统服务器,使得业务系统服务器基于该加密url请求返回相应的业务数据,实现了第二重的安全防护,如此,便可以为拥有业务系统访问和使用权限的认证用户提供业务数据,而防止恶意的数据爬取,保障了业务数据的安全。

进一步地,基于第一实施例提出本发明业务数据提供方法的第二实施例。业务数据提供方法的第二实施例与业务数据提供方法的第一实施例的区别在于,参照图3,本实施例中的业务数据提供方法应用于业务系统服务器,所述业务数据提供方法包括以下步骤:

步骤s50,在接收到业务系统前端控制器发送的加密url请求时,对所述加密url请求进行解密验证;

在本实施例中,业务系统服务器在接收到前端控制器发送的加密url请求时,对该加密url请求进行解密验证,即,业务系统服务器提取出加密url请求中的密文查询参数,对该密文查询参数进行加密运算的逆运算,如果经过逆运算,可以将密文查询参数还原成为明文数字的查询参数,则确定解密验证通过。业务系统服务器对密文查询参数进行加密运算的逆运算的过程如下:

e、遍历所述密文查询参数中的每个元素,从所述密文查询参数中查找出预设字符,并按照易混字符与预设字符之间的映射关系,将查找出的预设字符替换为对应的易混字符,得到待解码byte数组,即确定密文查询参数中被替换过的字符,对被替换过的字符进行还原;

f、对待解码byte数组进行base64解码,得到解码byte数组;

g、利用与前端控制器约定好的blowfish对称加密算法对解码byte数组中的每个元素进行解密,即通过密钥key_pbox和key_sbox对解码byte数组中的每个元素进行解密,可得到解密byte数组;

h、将解密byte数组转化为明文数字;

经过上述处理,如果可以将密文查询参数还原成为明文数字的查询参数,则确定解密验证通过。

步骤s60,在解密验证通过时,获取相应的业务数据返回至所述业务系统前端控制器,以使所述业务系统前端控制器在业务系统前端输出所述业务数据。

业务系统服务器在解密验证通过时,获取相应的业务数据返回至业务系统前端控制器,业务系统前端控制器则在业务系统前端输出该业务数据。如果经过逆运算,密文查询参数无法还原,或者还原成为一堆乱码,服务器则确认解密验证不通过,则拦截该恶意url请求。

通过上述方式,即使模仿加密url请求格式的恶意请求能够送达服务器,由于服务器会对接收到的url请求进行解密验证,而恶意url请求不是基于本实施例中的加密运算方式得到的,针对恶意url请求的解密验证是无法通过的,服务器也会拦截该恶意url请求,如此,可以为拥有业务系统访问和使用权限的认证用户提供业务数据,而可以基于加密运算和解密验证拦截恶意url请求,极大程度的减少了业务数据被爬取的可能性。

此外,本发明实施例还提供一种业务数据提供装置。

参照图4,图4为本发明业务数据提供装置第一实施例的功能模块示意图。

本实施例中,所述业务数据提供装置包括:

判断模块10,用于在业务系统前端接收到统一资源定位符url请求时,判断所述url请求是否由认证用户触发;

加密模块20,用于若是,则提取所述url请求中的明文查询参数,并对所述明文查询参数进行加密运算,得到密文查询参数;

替换模块30,用于将所述url请求中的明文查询参数替换为所述密文查询参数,得到加密url请求,并将所述加密url请求发送至业务系统服务器;

输出模块40,用于接收所述业务系统服务器基于所述加密url请求返回的相应业务数据,并在所述业务系统前端输出所述业务数据。

其中,上述业务数据提供装置的各虚拟功能模块存储于图1所示业务数据提供设备的存储器1005中,用于实现业务数据提供程序的所有功能;各模块被处理器1001执行时,实现了多重安全防护,可以为拥有业务系统访问和使用权限的认证用户提供业务数据,而防止恶意的数据爬取,保障了业务数据的安全。

进一步的,所述加密模块20包括:

转换单元,用于将所述明文查询参数转换成预设长度的数组;

加密单元,用于通过预设对称加密算法对所述数组中的每个元素进行加密,得到加密数组;

编码单元,用于对所述加密数组进行编码,得到编码数组;

替换单元,用于遍历所述编码数组中的每个元素,确定所述编码数组中的易混元素,并按照预设映射关系,将所述编码数组中的易混元素替换为对应的预设字符,得到密文查询参数。

进一步的,所述加密单元包括:

预处理子单元,用于对所述预设对称加密算法的源密钥进行预处理,得到密钥;

加密子单元,用于使用所述密钥对所述数组中的每个元素进行加密,得到加密数组。

进一步的,所述业务数据提供装置还包括:

拦截模块,用于若否,则拦截所述url请求。

进一步的,所述业务数据提供装置还包括:

解密模块,用于在接收到业务系统前端控制器发送的加密url请求时,对所述加密url请求进行解密验证;

返回模块,用于在解密验证通过时,获取相应的业务数据返回至所述业务系统前端控制器,以使所述业务系统前端控制器在业务系统前端输出所述业务数据。

进一步的,所述解密模块包括:

提取单元,用于从所述加密url请求中提取出密文查询参数;

逆运算单元,用于对所述密文查询参数进行所述加密运算的逆运算;

确认单元,用于若通过所述逆运算将所述密文查询参数还原为明文查询参数,则确认解密验证通过。

进一步的,所述逆运算单元包括:

替换子单元,用于遍历所述密文查询参数中的每个元素,从所述密文查询参数中查找出预设字符,并按照预设映射关系,将查找出的预设字符替换为对应的易混字符,得到待解码数组;

解码子单元,用于对所述待解码数组进行解码,得到解码数组;

解密子单元,用于通过预设对称加密算法对所述解码数组中的每个元素进行解密,得到解密数组;

还原子单元,用于将所述解密数组还原为明文查询参数。

其中,上述业务数据提供装置中各个模块的功能实现与上述业务数据提供方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。

此外,本发明实施例还提供一种计算机可读存储介质。

本发明计算机可读存储介质上存储有业务数据提供程序,其中所述业务数据提供程序被处理器执行时,实现如上述的业务数据提供方法的步骤。

其中,业务数据提供程序被执行时所实现的方法可参照本发明业务数据提供方法的各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1