本发明涉及信息处理领域,尤指一种网络密文数据的处理方法和装置。
背景技术:
当前网络环境越来越复杂,网络传输安全无法保障的情况下,直接使用传统的http协议进行网络通信和web系统应用已经被验证是非常不安全的,在我们一些随机附带的应用产品部署中,客户环境对采用https协议有限制要求,要求是开箱即用,不对现有生产环境造成影响,直接使用http协议,在这样条件下web应用要保证一些重要内容的传输安全,我们采用了在web前端对部分页面的部分重要内容进行rsa加密后再进行传统的http传输。
在一些保密环境与保密要求高的环境下,光使用该方案无法避免数据传输包被网络上恶意或有居心的嗅探程序抓包分析。虽然rsa不对称算法目前安全性是有保证的,但是据公开报道,1999年,rsa-155(512bits)被成功分解,2002年,rsa-158也被成功因数分解,2009年12月12日,编号为rsa-768(768bits,232digits)数也被成功分解,同时rsa公钥加密算法是存在一定漏洞的,并不是所有公钥都是按照理论随机产生。这种情况下私钥可以被计算获取,私钥的保密性已经无从保证。另外在已知的攻击手段中,存在针对高价值数据,采取使用原公钥对试探数据加密,与密文比对来猜测原文,通过不断更换试探数据加密来进行暴力猜测。
考虑到业务数据的复杂性,无法使用复杂密码产生规则来要求业务数据的构成,故采用服务器端根据通信时间戳产生随机码,在前端打散随机码后,在密文中对指定位置插入进行混淆,避免机器自动暴力猜测比对的方法,来对前端不对称加密方法进行加强。
技术实现要素:
为了解决上述技术问题,本发明提供了一种网络密文数据的处理方法和装置,能够提高网络数据的安全性。
为了达到本发明目的,本发明提供了一种网络密文数据的处理方法,包括:
在接收到访问请求产生的密文数据后,按照预先设置的数据生成规则,利用所述访问请求生成一条随机数据;
将所述随机数据划分成一组或至少两组的数据片段;
在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据;
发送所述处理后的密文数据。
在本发明提供的一个示例性实施例中,在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据之后,所述方法还包括:
记录所述一组或至少两组的数据片段在所述密文数据的插入位置,并发送所述插入位置的信息;或者,
记录所述一组或至少两组的数据片段在所述密文数据的插入位置以及每个插入位置对应的字符数量,并发送所述插入位置的信息以及每个插入位置对应的字符数量。
在本发明提供的一个示例性实施例中,按照预先设置的数据生成规则,利用所述访问请求生成一条随机数据,包括:
获取所述访问请求的访问时间信息;
将所述访问时间中的数字信息,随机编写成一条数字序列。
在本发明提供的一个示例性实施例中,所述在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据之后,所述方法还包括:
对插入数据片段后的密文数据进行数据混淆处理,得到所述处理后的数据。
为了达到本发明目的,本发明提供了一种网络密文数据的处理方法,包括:
在接收到插入随机数据处理后的密文数据后,获取所述插入随机数据处理后的密文数据中随机数据的插入位置;
根据所述随机数据的插入位置,从所述插入随机数据处理后的密文数据中去除所述随机数据,得到密文数据。
在本发明提供的一个示例性实施例中,在根据所述随机数据的插入位置,从所述插入随机数据处理后的密文数据中去除所述随机数据,得到密文数据之前,所述方法还包括:
如果对所述插入随机数据处理后的密文数据进行了混淆处理,则根据预先存储的处理策略,还原经混淆处理后且插入随机数据处理后的密文数据,得到插入随机数据处理后的密文数据。
在本发明提供的一个示例性实施例中,所述获取所述插入随机数据处理后的密文数据中随机数据的插入位置包括:
接收外部发送的所述插入位置的信息;或者,
接收外部发送的所述插入位置的信息以及每个插入位置对应的字符数量。
为了达到本发明目的,本发明提供了一种网络密文数据的处理装置,包括:
生成模块,用于在接收到访问请求产生的密文数据后,按照预先设置的数据生成规则,利用所述访问请求生成一条随机数据;
划分模块,用于将所述随机数据划分成一组或至少两组的数据片段;
插入模块,用于在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据;
发送模块,用于发送所述处理后的密文数据。
在本发明提供的一个示例性实施例中,所述装置还包括:
第一管理模块,用于在得到所述处理后的密文数据后,记录所述一组或至少两组的数据片段在所述密文数据的插入位置,并发送所述插入位置的信息;或者,
第二管理模块,用于在得到所述处理后的密文数据后,记录所述一组或至少两组的数据片段在所述密文数据的插入位置以及每个插入位置对应的字符数量,并发送所述插入位置的信息以及每个插入位置对应的字符数量。
在本发明提供的一个示例性实施例中,所述生成模块包括:
获取单元,用于获取所述访问请求的访问时间信息;
编写单元,用于将所述访问时间中的数字信息,随机编写成一条数字序列。
在本发明提供的一个示例性实施例中,所述装置还包括:
混淆模块,用于在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据之后,对插入数据片段后的密文数据进行数据混淆处理,得到所述处理后的数据。
为了达到本发明目的,本发明提供了一种网络密文数据的处理装置,包括:
获取模块,用于在接收到插入随机数据处理后的密文数据后,获取所述插入随机数据处理后的密文数据中随机数据的插入位置;
去除模块,用于根据所述随机数据的插入位置,从所述插入随机数据处理后的密文数据中去除所述随机数据,得到密文数据。
在本发明提供的一个示例性实施例中,所述装置还包括:
还原模块,用于在去除所述随机数据之前,如果对所述插入随机数据处理后的密文数据进行了混淆处理,则根据预先存储的处理策略,还原经混淆处理后且插入随机数据处理后的密文数据,得到插入随机数据处理后的密文数据。
在本发明提供的一个示例性实施例中,所述获取模块,用于接收外部发送的所述插入位置的信息;或者,接收外部发送的所述插入位置的信息以及每个插入位置对应的字符数量。
本发明提供的实施例,在接收到访问请求产生的密文数据后,按照预先设置的数据生成规则,利用所述访问请求生成一条随机数据,并将所述随机数据划分成一组或至少两组的数据片段,在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据,并发送所述处理后的密文数据,通过在密文数据中加入数据片段,保证在网络中传输安全,避免被抓取后暴力破解。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明提供的一种网络密文数据的处理方法的流程图;
图2为本发明提供的另一种网络密文数据的处理方法的流程图;
图3为本发明应用实例提供的随机码加强前端密文混淆的方法的流程图;
图4为本发明提供的一种网络密文数据的处理装置的结构图;
图5为本发明提供的另一种网络密文数据的处理装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明提供的一种网络密文数据的处理方法的流程图。图1所示方法包括:
步骤101、在接收到访问请求产生的密文数据后,按照预先设置的数据生成规则,利用所述访问请求生成一条随机数据;
在一个示例性的实施例中,随机数据的生成可以根据访问请求发生的时间来来生成,也可以根据访问请求的内容中的用户身份信息来生成;
在一个示例性的实施例中,获取所述访问请求的访问时间信息,并将所述访问时间中的数字信息,随机编写成一条数字序列。
步骤102、将所述随机数据划分成一组或至少两组的数据片段;
在一个示例性的实施例中,数据片段的划分可以每组的数据量相同,也可以每组的数据量不同,划分的份数可以根据实际需要来确定;
步骤103、在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据;
其中,数据片段的插入位置可以为预先设置的插入位置,或者,可以为随机选择的插入位置;
在一个示例性实施例中,在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据之后,所述方法还包括:
记录所述一组或至少两组的数据片段在所述密文数据的插入位置,并发送所述插入位置的信息;或者,
记录所述一组或至少两组的数据片段在所述密文数据的插入位置以及每个插入位置对应的字符数量,并发送所述插入位置的信息以及每个插入位置对应的字符数量;
在上述示例性实施例中,通过记录数据片段的插入位置,并发送出去,方便接收者对密文数据的处理,提高数据解析的效率;
在一个示例性实施例中,所述在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据之后,所述方法还包括:
对插入数据片段后的密文数据进行数据混淆处理,得到所述处理后的数据。
在上述示例性实施例中,通过对加入数据片段后的密文数据进行数据混淆,可以增强数据的安全性,降低数据被破解的可能,提升数据的安全性。
步骤104、发送所述处理后的密文数据。
本发明提供的方法实施例,在接收到访问请求产生的密文数据后,按照预先设置的数据生成规则,利用所述访问请求生成一条随机数据,并将所述随机数据划分成一组或至少两组的数据片段,在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据,并发送所述处理后的密文数据,通过在密文数据中加入数据片段,保证在网络中传输安全,避免被抓取后暴力破解。
图2为本发明提供的另一种网络密文数据的处理方法的流程图。图2所示方法,包括:
步骤201、在接收到插入随机数据处理后的密文数据后,获取所述插入随机数据处理后的密文数据中随机数据的插入位置;
在一个示例性实施例中,所述获取所述插入随机数据处理后的密文数据中随机数据的插入位置包括:
接收外部发送的所述插入位置的信息;或者,
接收外部发送的所述插入位置的信息以及每个插入位置对应的字符数量。
在上述示范性实施例中,通过从外部接收信息,可以快速得到处理该加密信息的数据,提高处理效率。
在一个示例性实施例中,在根据所述随机数据的插入位置,从所述插入随机数据处理后的密文数据中去除所述随机数据,得到密文数据之前,所述方法还包括:
如果对所述插入随机数据处理后的密文数据进行了混淆处理,则根据预先存储的处理策略,还原经混淆处理后且插入随机数据处理后的密文数据,得到插入随机数据处理后的密文数据。
在上述示范性实施例中,按照密文数据在前端的处理流程,在还原密文数据时,在去除随机码前,对数据混淆操作进行还原,保证数据的正确处理。
步骤202、根据所述随机数据的插入位置,从所述插入随机数据处理后的密文数据中去除所述随机数据,得到密文数据。
本发明提供的方法实施例,在接收到插入随机数据处理后的密文数据后,获取所述插入随机数据处理后的密文数据中随机数据的插入位置,并根据所述随机数据的插入位置,从所述插入随机数据处理后的密文数据中去除所述随机数据,得到密文数据,在网络中传输安全,避免被抓取后暴力破解。
下面对本发明提供的应用实例对本发明提供的方法作进一步说明:
本发明主要应用于在web系统中前端界面的重要内容通过不对称算法进行加密后,对密文使用随机码进行混淆加强,保证在网络中传输安全,避免被抓取后暴力破解。
本发明应用实例的方法依次通过后端随机码产生器、前端密文混淆器和后端混淆密文解析器处理完成,其中:
后端随机码产生器依据动态的时间戳来组成随机码的数据来源,依据可定义的规则生成随机码;
前端密文混淆器使用随机码打散的字符数组来对加密密文按照可定义的位置序号进行插入混淆;
后端混淆密文解析器依据事先与前端约定的混淆规则来对混淆密文进行解析,还原原加密密文;
其中,随机码生成数据来源动态时间戳,随机码生成规则和插入位置可以随时更新。
该应用实例包括如下步骤:
步骤1.服务器后端随机码产生器依据前端访问请求时间戳为随机码产生器输入数据,随机码产生器产生唯一随机码,并将随机码放入会话管道中;
步骤2.前端密文混淆器获取会话管道中的随机码,并将随即码打散为一个字符数组,将该字符数组按照约定位置插入指定加密字段的密文中进行混淆;
步骤3.后端混淆密文解析器接收到前端发送的混淆密文进行解析,去除混淆随机码,还原原加密密文;
图3为本发明应用实例提供的随机码加强前端密文混淆的方法的流程图。图3所示流程图实现包括后端随机码产生器、前端密文混淆器、后端混淆密文解析器和参数合并传输器,实施过程如下:
1)后端随机码产生器依据前端访问请求时间数据为随机码产生器输入数据,随机码产生器产生唯一随机码,并将随机码放入会话管道中;
a.获得前端访问请求时间,并按照一定规则转换为随机码生成器的输入数据。例如:前端访问到达服务器时间为2018/05/0219:20:34.045,将其按照时间在前日期在后的规则变为19203404520180502。
b.将生成的输入数据输入随机码生成器中,随机码依据一定的对应规则来生成随机码。例如:0123456789一一对应的字母为undyavjmpr,输入数据为19203404520180502,生成的随机码为nrduyauavdunpuvud。
c.将生成的随机码放入会话管道中,例如:在会话中放入code=nrduyauavdunpuvud。
2)前端密文混淆器获取会话管道中的随机码,并将随即码打散为一个字符数组,将该字符数组按照约定位置插入指定加密字段的密文中进行混淆。例如:
a.获取到随机码,例如:随机码为code=nrduyauavdunpuvud。
b.将随机码打散为字符数组,例如:打散为code_arr=[n],[r],[d],[u],[y],[a],[u],[a],[v],[d],[u],[n],[p],[u],[v],[u],[d]。
c.将字符数组按约定位置逐个插入到已加密字段的密文中,例如:已加密字段和密文参见下文:
usr=cktvwiogfyoquc937oydraqdvbogpxstvkc;
psd=zez+pedn3pvmgt+salo9wmqmzu6n6lvvad3。
按照事先预定的2,4,6,9,10,12,14,16,18,21,24,26,28,29,31,33,34进行插入混淆,混淆演变过程如下:
中间值为演示过程使用中产生的数据,具体如下:
usr=cktvwiogfyoquc937oydraqdvbogpxstvkc;
psd=zez+pedn3pvmgt+salo9wmqmzu6n6lvvad3。
插入字符组后的中间值变化如下:
usr=ckntvrwidogfuyyoqaucu93a7ovydrdaqduvbnogppuxsvtvukdc;
psd=zenz+rpeddn3upyvmagtu+saalvo9wdmqmuzun6np6ulvvvaudd3。
混淆后的值变化如下:
usr=ckntvrwidogfuyyoqaucu93a7ovydrdaqduvbnogppuxsvtvukdc;
psd=zenz+rpeddn3upyvmagtu+saalvo9wdmqmuzun6np6ulvvvaudd3。
3)后端混淆密文解析器接收到前端发送的混淆密文进行解析,去除混淆随机码,加密字段获得原加密密文。
例如:后端混淆密文解析器获取到前端指定加密字段为将usr,psd,将usr,psd中的混淆密文按照预先规定,将3,5,7,10,11,13,15,17,19,22,25,27,29,30,32,34,35位置的字符消除,usr,psd恢复到原加密状态,具体如下:
usr=cktvwiogfyoquc937oydraqdvbogpxstvkc;
psd=zez+pedn3pvmgt+salo9wmqmzu6n6lvvad3。
本发明应用实例提供的方法,通过随机码分散插入混淆的方式加强了在前端进行不对称加密后密文的保护强度,避免了恶意嗅探抓包程序针对高价值数据抓包后,利用原公钥进行对试探数据加密,机器自动暴力破解和人工辅助解析的可能。另外,后端随机码产生器依据时间戳,按照可定义的规则来生成随机码,前端密文混淆器使用随机码打散的字符数组来对加密密文按照可定义的位置序号进行插入混淆。随机码生成规则和插入位置可以随时更新,加大了自动暴力破解的难度。
图4为本发明提供的一种网络密文数据的处理装置的结构图。图4所示装置包括:
生成模块401,用于在接收到访问请求产生的密文数据后,按照预先设置的数据生成规则,利用所述访问请求生成一条随机数据;
划分模块402,用于将所述随机数据划分成一组或至少两组的数据片段;
插入模块403,用于在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据;
发送模块404,用于发送所述处理后的密文数据。
在本发明提供的一个示例性实施例中,所述装置还包括:
第一管理模块,用于在得到所述处理后的密文数据后,记录所述一组或至少两组的数据片段在所述密文数据的插入位置,并发送所述插入位置的信息;或者,
第二管理模块,用于在得到所述处理后的密文数据后,记录所述一组或至少两组的数据片段在所述密文数据的插入位置以及每个插入位置对应的字符数量,并发送所述插入位置的信息以及每个插入位置对应的字符数量。
在本发明提供的一个示例性实施例中,所述生成模块401包括:
获取单元,用于获取所述访问请求的访问时间信息;
编写单元,用于将所述访问时间中的数字信息,随机编写成一条数字序列。
在本发明提供的一个示例性实施例中,所述装置还包括:
混淆模块,用于在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据之后,对插入数据片段后的密文数据进行数据混淆处理,得到所述处理后的数据。
本发明提供的装置实施例,在接收到访问请求产生的密文数据后,按照预先设置的数据生成规则,利用所述访问请求生成一条随机数据,并将所述随机数据划分成一组或至少两组的数据片段,在所述密文数据的一个或至少两个位置插入所述一组或至少两组的数据片段,得到所述处理后的密文数据,并发送所述处理后的密文数据,通过在密文数据中加入数据片段,保证在网络中传输安全,避免被抓取后暴力破解。
图5为本发明提供的另一种网络密文数据的处理装置的结构图。图5所示装置包括:
获取模块501,用于在接收到插入随机数据处理后的密文数据后,获取所述插入随机数据处理后的密文数据中随机数据的插入位置;
去除模块502,用于根据所述随机数据的插入位置,从所述插入随机数据处理后的密文数据中去除所述随机数据,得到密文数据。
在本发明提供的一个示例性实施例中,所述装置还包括:
还原模块,用于在去除所述随机数据之前,如果对所述插入随机数据处理后的密文数据进行了混淆处理,则根据预先存储的处理策略,还原经混淆处理后且插入随机数据处理后的密文数据,得到插入随机数据处理后的密文数据。
在本发明提供的一个示例性实施例中,所述获取模块501,用于接收外部发送的所述插入位置的信息;或者,接收外部发送的所述插入位置的信息以及每个插入位置对应的字符数量。
本发明提供的装置实施例,在接收到插入随机数据处理后的密文数据后,获取所述插入随机数据处理后的密文数据中随机数据的插入位置,并根据所述随机数据的插入位置,从所述插入随机数据处理后的密文数据中去除所述随机数据,得到密文数据,在网络中传输安全,避免被抓取后暴力破解。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。