本发明属于信息安全技术领域,特别是一种面向web系统的数据加密解密方法及系统。
背景技术:
对于网络应用系统,数据安全非常重要,对保存在应用系统中的数据(如数据库中的数据)进行安全保护最有效的技术手段是对存储的数据加密,而在需要使用数据时再对加密的数据解密。
数据加密虽然是保护数据安全最有效的技术手段,但其在实际应用中存在以下问题:一是,目前已部署了各种大量的系统,在这些已部署的系统中加入数据加密、解密功能,这涉及代码的修改、系统的重新部署,这对于很多系统运行者来说是非常麻烦或困难的事;二是,密码技术是一项比较专业的技术,绝大部分技术人员不熟悉,熟悉密码技术的人员比较少,这增加了在系统中增加数据加密、解密功能的难度;三是,涉及数据操作(如读、写)的代码(比如web页面)通常很多,将数据加密解密代码分散到程序的不同地方、系统的不同web页面,这给数据加密、解密代码的维护增加了难度;四是,对不同的系统要编写不同的加密解密代码,代码不能重用,造成了资源浪费;五是,数据加密可能会影响数据的可搜索性;六是,数据加密、解密通常会影响数据存储、获取的速度。
技术实现要素:
本发明的目的是针对数据加密技术在web系统中应用存在的问题,提出相应的解决方案,这里所说web系统是通过web技术提供预定应用或服务功能系统。
针对本发明的目的,本发明提出的技术方案包括一种面向web系统的数据加密解密方法及相应的系统。
本发明提出的面向web系统的数据加密解密方法具体如下。
web过滤器拦截客户端(如浏览器)提交的数据提交http请求,查询数据加密解密配置信息,确定提交的数据中哪些数据需要加密(比如form数据中的哪些数据是需要加密的,json数据中的哪些数据对象是需要加密的),然后调用密码组件对需要加密的数据进行加密处理(提交的数据中需加密的数据可以是多个不同的数据,比如,form中的不同字段,json中的不同数据对象),然后形成新的数据提交http请求,并将新的数据提交http请求传送到后续处理逻辑(处理组件)处理(比如保存到数据库);
web过滤器拦截客户端提交的数据查询(搜索)http请求,查询数据加密解密配置信息,确定数据查询http请求中的查询数据中哪些数据需要加密的(即是否涉及针对加密数据的查询),然后调用密码组件对需要加密的数据进行加密处理(提交的数据查询http请求中的查询数据中需加密的数据可以是多个不同的数据,比如,form中的不同字段,json中的不同数据对象),然后形成新的数据查询http请求,并将新的数据查询http请求传送到后续处理逻辑(处理组件)处理(比如对保存在数据库中的数据进行查询、搜索);
web过滤器拦截web系统返回的http响应,查询数据加密解密配置信息,确定http响应中哪些数据需要解密(即哪些是被加密的数据),然后调用密码组件对需要解密的数据进行解密处理(响应中需解密的数据可以是多个不同的数据,比如,form中的不同字段,json中的不同数据对象),然后形成新的http响应,并将新的http响应返回;
所述web过滤器是(web系统的)web服务端中位于http请求和响应传输通道中的、对数据进行加密解密处理的组件(比如采用web服务器或web运行环境的web过滤器技术开发);
所述密码组件是提供数据加密、解密功能的组件(软件组件或软硬件结合的组件);
所述数据加密解密配置信息中设置有与数据加密、解密处理有关的信息。
对于以上所述面向web系统的数据加密解密方法,所述web过滤器通过查询数据加密解密配置信息(如通过配置信息中设定的http请求url及设定的http请求中的数据字段)确定:哪些http请求中包含有需要进行加密处理的数据以及http请求中的哪些数据需要进行加密处理,哪些数据查询http请求需要对查询请求中的查询数据进行加密处理以及数据查询http请求中的哪些查询数据需要进行加密处理(即哪些数据查询http请求以及哪些查询数据涉及针对加密数据的查询),哪些http请求所对应的http响应中包含加密的数据需要对数据进行解密处理以及响应中的哪些数据需要进行解密处理(即哪些http响应需要解密处理以及响应中的哪些数据是被加密的数据,即密文数据)。
对于以上所述面向web系统的数据加密解密方法,对于数据提交http请求或数据查询http请求中的需要加密的数据,所述web过滤器进一步通过数据加密解密配置信息确定需加密的数据是否是可搜索的(即加密后的数据是否被查询、搜索,或者是否是针对加密后的可搜索数据的查询、搜索,针对加密后的可搜索数据的查询数据也是可搜索的数据,也需进行相应的分词、加密处理),若不是,则web过滤器调用密码组件对需要加密的非可搜索数据进行加密处理,若是,则web过滤器调用分词组件对需加密的可搜索数据进行分词处理,然后调用密码组件对分词处理后得到每个数据组成部分即数据块分别进行加密处理,然后将分别加密处理后得到的(加密的)数据块组合形成最后的加密数据;
所述分词处理指根据预定的(语言)规律、规则,将表示语句的数据分成多个数据组成部分即数据块,且每个数据组成部分即数据块具有最大长度限制(不大于最大长度,但可以小于);所述分词组件是对数据进行分词处理的组件。
对于以上所述面向web系统的数据加密解密方法,对数据提交http请求或数据查询http请求中的需要加密的可搜索数据和非可搜索数据进行加密所采用的密码算法、加密方法以及密钥不必相同。
对于以上所述面向web系统的数据加密解密方法,对于数据提交http请求或数据查询http请求中的需要加密的可搜索数据,所述web过滤器统计分词后得到的不同数据块数据出现的频度,缓存分组得到的不同数据块数据的明文和对应的密文(即加密前后的数据),并利用缓存的明文和密文对数据块进行快速加密处理(直接用密文替代明文,无需调用密码组件进行加密);
当缓存数据块的个数超过预定的阈值时(阈值如何设定取决于具体实施的要求,为本发明之外的事情),web过滤器将出现频度低的数据块的缓存数据清除(清除的缓存数据包括分词得到的数据块的明文和对应的密文数据,以及对应的频度统计数据);
一个数据块数据出现的频度是指在规定的时间段内此数据块数据出现的次数;
所述出现频度低的数据块是指出现的频度排在后面的数据块(至于出现频度排在后面多少的数据块被清除,取决于具体实施的要求,属于本发明之外的事情)。
对于以上所述面向web系统的数据加密解密方法,所述数据加密解密配置信息中设置有分词关键词(keywords),分词组件在对可搜索数据进行分词处理时将数据中出现的分词关键词作为单独的数据组成部分即数据块分离出来进行处理(分词关键词只是分词处理采用的方法之一并非全部,分词主要基于语言规律、规则);所述分词关键词分为需加密关键词和非加密关键词,对于从需加密的可搜索数据中分离出来的需加密关键词,所述web过滤器对其加密,而对于从需加密的可搜索数据中分离出来的非加密关键词,所述web过滤器不对其加密(相应地,对于被加密的可搜索数据中出现的非加密关键词,web过滤器无需进行解密);对于非加密关键词,所述web过滤器不进行明文和对应密文的缓存处理(无论加密和解密都如此,这是显然的)。
对于以上所述面向web系统的数据加密解密方法,所述web过滤器统计数据查询http请求中的需要加密的可搜索数据中出现的搜索关键词出现的频度,对于出现的频度高而未在分词关键词中出现的搜索关键词,web过滤器将其作为需加密关键词加入到分词关键词中;
一个搜索关键词出现的频度是指在规定的时间段内此搜索关键词出现的次数;
所述出现频度高的搜索关键词是指出现的频度高于预定的阈值的搜索关键词(至于阈值是多少,取决于具体实施的要求,属于本发明之外的事情)。
对于以上所述面向web系统的数据加密解密方法,对于http响应中的需要解密的被加密的数据,所述web过滤器进一步通过数据加密解密配置信息确被加密的数据是否是可搜索的,若不是,则web过滤器调用密码组件对被加密的非可搜索数据进行解密处理,若是,则web过滤器调用密码组件对被加密的可搜索数据中的每个(分词后)被加密的数据块分别进行解密处理,然后将解密后的数据块组合形成最后的被解密的数据。
对于以上所述面向web系统的数据加密解密方法,对于http响应中的需要解密的可搜索数据,所述web过滤器统计响应中的不同被加密的数据块数据(即需要解密的数据块)出现的频度,缓存不同的(分词后)被加密的数据块数据的密文和对应的明文,并利用缓存的密文和明文对被加密的数据块进行快速解密处理(直接用明文替代密文,无需调用密码组件进行解密);
当缓存的加密数据(即被加密的数据)的个数超过预定的阈值时(阈值如何设定取决于具体实施的要求,为本发明之外的事情),web过滤器将出现频度低的加密数据块的缓存数据清除(清除的缓存数据包括被加密的数据块数据的密文和对应的明文,以及对应的频度统计数据);
一个加密数据块数据出现的频度是指在规定的时间段内此加密数据块数据出现的次数;
所述出现频度低的加密数据块是指出现的频度排在后面的加密数据块(至于出现频度排在后面多少的加密数据块被清除,取决于具体实施的要求,属于本发明之外的事情)。
对于以上所述的面向web系统的数据加密解密方法,若http响应返回的页面涉及数据查询搜索(即提供有数据查询搜索功能),而web过滤器从用户通过原响应页面提交的数据查询http请求中不能区分出查询请求中的哪些查询数据(如搜索关键字、关键词)是不需要加密的(即属于针对非加密的数据的查询数据),哪些查询数据是需要加密的(即属于针对加密后的数据的查询数据),且对于需加密的查询数据哪些是可搜索的(即属于针对加密后的可搜索数据的查询数据),则所述web过滤器在所述http响应返回的页面中插入代码(html代码、脚本程序),修改返回的页面,从而使得所述web过滤器从用户通过返回的页面提交的数据查询http请求的查询数据中能够作出上述区分。
基于以上所述面向web系统的数据加密解密方法可构建面向web系统的数据加密解密系统,系统包括web过滤器、密码组件、分词组件以及加密配置管理器(manager);所述加密配置管理器对数据加密解密配置信息进行管理,包括生成、修改、保存数据加密解密配置信息;所述数据加密解密配置信息以文件或数据库数据的形式保存,并由web过滤器加载到web系统中(内存中);
当客户端通过http请求提交数据、查询数据以及获取数据时,所述数据加密系统按所述面向web系统的数据加密解密方法对http请求中需要加密的数据进行加密处理,对http响应中需要解密的数据进行解密处理。
从以上描述可以看到,本发做到:通过web过滤器使得web系统在不需要进行程序代码修改的情况下就增加了数据自动加密、解密功能;数据加密、解密功能可以由专业人员实现,普通程序员可以专注业务逻辑,无需关心数据的加密、解密处理;数据加密、解密处理的代码集中在web过滤器这一个地方,使得加密、解密代码的维护更容易;通过数据加密解密配置信息,一套代码能用于不同的系统;通过先分词,后加密,保留了数据的搜索功能(加密当然对数据搜索能力造成不利影响);通过常用明文、密文的缓存,提高了数据加密、解密处理的速度。
附图说明
图1本发明的系统的结构示意图。
具体实施方式
下面对本发明的具体实施方式作进一步的说明。
依据本发明实施的数据加密解密过程具体如下。
web过滤器拦截客户端(如浏览器)提交的数据提交http请求,查询数据加密解密配置信息,确定提交的数据中哪些数据需要加密(比如form数据中的哪些数据是需要加密的,json数据中的哪些数据对象是需要加密的),然后调用密码组件对需要加密的数据进行加密处理(提交的数据中需加密的数据可以是多个不同的数据,比如,form中的不同字段,json中的不同数据对象),然后形成新的数据提交http请求,并将新的数据提交http请求传送到后续处理逻辑(处理组件)处理(比如保存到数据库);
web过滤器拦截客户端提交的数据查询(搜索)http请求,查询数据加密解密配置信息,确定数据查询http请求中的查询数据中哪些数据需要加密的(即是否涉及针对加密数据的查询),然后调用密码组件对需要加密的数据进行加密处理(提交的数据查询http请求中的查询数据中需加密的数据可以是多个不同的数据,比如,form中的不同字段,json中的不同数据对象),然后形成新的数据查询http请求,并将新的数据查询http请求传送到后续处理逻辑(处理组件)处理(比如对保存在数据库中的数据进行查询、搜索);
web过滤器拦截web系统返回的http响应,查询数据加密解密配置信息,确定http响应中哪些数据需要解密(即哪些是被加密的数据),然后调用密码组件对需要解密的数据进行解密处理(响应中需解密的数据可以是多个不同的数据,比如,form中的不同字段,json中的不同数据对象),然后形成新的http响应,并将新的http响应返回;
以上所述web过滤器是(web系统的)web服务端中位于http请求和响应传输通道中的、对数据进行加密解密处理的组件(比如采用web服务器或web运行环境的web过滤器技术开发);
以上所述密码组件是提供数据加密、解密功能的组件(软件组件或软硬件结合的组件);
以上所述数据加密解密配置信息中设置有与数据加密、解密处理有关的信息。
对于以上所述面向web系统的数据加密解密,所述web过滤器通过查询数据加密解密配置信息(如通过配置信息中设定的http请求url及设定的http请求中的数据字段)确定:哪些http请求中包含有需要进行加密处理的数据以及http请求中的哪些数据需要进行加密处理,哪些数据查询http请求需要对查询请求中的查询数据进行加密处理以及数据查询http请求中的哪些查询数据需要进行加密处理(即哪些数据查询http请求以及哪些查询数据涉及针对加密数据的查询),哪些http请求所对应的http响应中包含加密的数据需要对数据进行解密处理以及响应中的哪些数据需要进行解密处理(即哪些http响应需要解密处理以及响应中的哪些数据是被加密的数据,即密文数据)。
对于以上所述面向web系统的数据加密解密,对于数据提交http请求或数据查询http请求中的需要加密的数据,所述web过滤器进一步通过数据加密解密配置信息确定需加密的数据是否是可搜索的(即加密后的数据是否被查询、搜索,或者是否是针对加密后的可搜索数据的查询、搜索,针对加密后的可搜索数据的查询数据也是可搜索的数据,也需进行相应的分词、加密处理),若不是,则web过滤器调用密码组件对需要加密的非可搜索数据进行加密处理,若是,则web过滤器调用分词组件对需加密的可搜索数据进行分词处理,然后调用密码组件对分词处理后得到每个数据组成部分即数据块分别进行加密处理,然后将分别加密处理后得到的(加密的)数据块组合形成最后的加密数据;
以上所述分词处理指根据预定的(语言)规律、规则,将表示语句的数据分成多个数据组成部分即数据块,且每个数据组成部分即数据块具有最大长度限制(不大于最大长度,但可以小于);所述分词组件是对数据进行分词处理的组件。
对于以上所述面向web系统的数据加密解密,对数据提交http请求或数据查询http请求中的需要加密的可搜索数据和非可搜索数据进行加密所采用的密码算法、加密方法以及密钥不必相同。
对于以上所述面向web系统的数据加密解密,对于数据提交http请求或数据查询http请求中的需要加密的可搜索数据,所述web过滤器统计分词后得到的不同数据块数据出现的频度,缓存分组得到的不同数据块数据的明文和对应的密文(即加密前后的数据),并利用缓存的明文和密文对数据块进行快速加密处理(直接用密文替代明文,无需调用密码组件进行加密);
当缓存数据块的个数超过预定的阈值时(阈值如何设定取决于具体实施的要求,为本发明之外的事情),web过滤器将出现频度低的数据块的缓存数据清除(清除的缓存数据包括分词得到的数据块的明文和对应的密文数据,以及对应的频度统计数据);
一个数据块数据出现的频度是指在规定的时间段内此数据块数据出现的次数;
以上所述出现频度低的数据块是指出现的频度排在后面的数据块(至于出现频度排在后面多少的数据块被清除,取决于具体实施的要求,属于本发明之外的事情)。
对于以上所述面向web系统的数据加密解密,所述数据加密解密配置信息中设置有分词关键词(keywords),分词组件在对可搜索数据进行分词处理时将数据中出现的分词关键词作为单独的数据组成部分即数据块分离出来进行处理(分词关键词只是分词处理采用的方法之一并非全部,分词主要基于语言规律、规则);所述分词关键词分为需加密关键词和非加密关键词,对于从需加密的可搜索数据中分离出来的需加密关键词,所述web过滤器对其加密,而对于从需加密的可搜索数据中分离出来的非加密关键词,所述web过滤器不对其加密(相应地,对于被加密的可搜索数据中出现的非加密关键词,web过滤器无需进行解密);对于非加密关键词,所述web过滤器不进行明文和对应密文的缓存处理(无论加密和解密都如此,这是显然的)。
对于以上所述面向web系统的数据加密解密,所述web过滤器统计数据查询http请求中的需要加密的可搜索数据中出现的搜索关键词出现的频度,对于出现的频度高而未在分词关键词中出现的搜索关键词,web过滤器将其作为需加密关键词加入到分词关键词中;
一个搜索关键词出现的频度是指在规定的时间段内此搜索关键词出现的次数;
以上所述出现频度高的搜索关键词是指出现的频度高于预定的阈值的搜索关键词(至于阈值是多少,取决于具体实施的要求,属于本发明之外的事情)。
对于以上所述面向web系统的数据加密解密,对于http响应中的需要解密的被加密的数据,所述web过滤器进一步通过数据加密解密配置信息确被加密的数据是否是可搜索的,若不是,则web过滤器调用密码组件对被加密的非可搜索数据进行解密处理,若是,则web过滤器调用密码组件对被加密的可搜索数据中的每个(分词后)被加密的数据块分别进行解密处理,然后将解密后的数据块组合形成最后的被解密的数据。
对于以上所述面向web系统的数据加密解密,对于http响应中的需要解密的可搜索数据,所述web过滤器统计响应中的不同被加密的数据块数据(即需要解密的数据块)出现的频度,缓存不同的(分词后)被加密的数据块数据的密文和对应的明文,并利用缓存的密文和明文对被加密的数据块进行快速解密处理(直接用明文替代密文,无需调用密码组件进行解密);
当缓存的加密数据(即被加密的数据)的个数超过预定的阈值时(阈值如何设定取决于具体实施的要求,为本发明之外的事情),web过滤器将出现频度低的加密数据块的缓存数据清除(清除的缓存数据包括被加密的数据块数据的密文和对应的明文,以及对应的频度统计数据);
一个加密数据块数据出现的频度是指在规定的时间段内此加密数据块数据出现的次数;
以上所述出现频度低的加密数据块是指出现的频度排在后面的加密数据块(至于出现频度排在后面多少的加密数据块被清除,取决于具体实施的要求,属于本发明之外的事情)。
对于以上所述的面向web系统的数据加密解密,若http响应返回的页面涉及数据查询搜索(即提供有数据查询搜索功能),而web过滤器从用户通过原响应页面提交的数据查询http请求中不能区分出查询请求中的哪些查询数据(如搜索关键字、关键词)是不需要加密的(即属于针对非加密的数据的查询数据),哪些查询数据是需要加密的(即属于针对加密后的数据的查询数据),且对于需加密的查询数据哪些是可搜索的(即属于针对加密后的可搜索数据的查询数据),则所述web过滤器在所述http响应返回的页面中插入代码(html代码、脚本程序),修改返回的页面,从而使得所述web过滤器从用户通过返回的页面提交的数据查询http请求的查询数据中能够作出上述区分。
以上所述面向web系统的数据加密解密过程的具体实施涉及web过滤器、密码组件、分词组件以及加密配置管理器(manager)的具体实施,其中web过滤器的具体实施取决于web系统采用的web服务器(如apachehttpserver、iis服务器)和web运行环境(如jsp/servletweb容器、asp.net运行环境等),既可以利用web服务器提供的web过滤器机制,也可以利用web运行环境提供的web过滤器机制;加密配置管理器负责对数据加密解密配置信息进行管理,包括生成、修改、保存数据加密解密配置信息,其可以是一个独立的系统,也可以是web应用系统中的一个组件,而数据加密解密配置信息以文件或数据库数据的形式保存,并由web过滤器加载到web系统中(内存中);密码组件、分词组件可以是动态加载的系统组件,也可以是一个独立运行的系统;通过实施web过滤器、密码组件、分词组件以及加密配置管理器(manager),构建了一个面向web系统的数据加密解密系统。
其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。
1.一种面向web系统的数据加密解密方法,其特征是:
web过滤器拦截客户端提交的数据提交http请求,查询数据加密解密配置信息,确定提交的数据中哪些数据需要加密,然后调用密码组件对需要加密的数据进行加密处理,然后形成新的数据提交http请求,并将新的数据提交http请求传送到后续处理逻辑处理;
web过滤器拦截客户端提交的数据查询http请求,查询数据加密解密配置信息,确定数据查询http请求中的查询数据中哪些数据需要加密的,然后调用密码组件对需要加密的数据进行加密处理,然后形成新的数据查询http请求,并将新的数据查询http请求传送到后续处理逻辑处理;
web过滤器拦截web系统返回的http响应,查询数据加密解密配置信息,确定http响应中哪些数据需要解密,然后调用密码组件对需要解密的数据进行解密处理,然后形成新的http响应,并将新的http响应返回;
所述web过滤器是web服务端中位于http请求和响应传输通道中的、对数据进行加密解密处理的组件;
所述密码组件是提供数据加密、解密功能的组件;
所述数据加密解密配置信息中设置有与数据加密、解密处理有关的信息。
2.根据权利要求1所述的面向web系统的数据加密解密方法,其特征是:
所述web过滤器通过查询数据加密解密配置信息确定:哪些http请求中包含有需要进行加密处理的数据以及http请求中的哪些数据需要进行加密处理,哪些数据查询http请求需要对查询请求中的查询数据进行加密处理以及数据查询http请求中的哪些查询数据需要进行加密处理,哪些http请求所对应的http响应中包含加密的数据需要对数据进行解密处理以及响应中的哪些数据需要进行解密处理。
3.根据权利要求1所述的面向web系统的数据加密解密方法,其特征是:
对于数据提交http请求或数据查询http请求中的需要加密的数据,所述web过滤器进一步通过数据加密解密配置信息确定需加密的数据是否是可搜索的,若不是,则web过滤器调用密码组件对需要加密的非可搜索数据进行加密处理,若是,则web过滤器调用分词组件对需加密的可搜索数据进行分词处理,然后调用密码组件对分词处理后得到每个数据组成部分即数据块分别进行加密处理,然后将分别加密处理后得到的数据块组合形成最后的加密数据;
所述分词处理指根据预定的规律、规则,将表示语句的数据分成多个数据组成部分即数据块,且每个数据组成部分即数据块具有最大长度限制;所述分词组件是对数据进行分词处理的组件。
4.根据权利要求3所述的面向web系统的数据加密解密方法,其特征是:
对数据提交http请求或数据查询http请求中的需要加密的可搜索数据和非可搜索数据进行加密所采用的密码算法、加密方法以及密钥不必相同。
5.根据权利要求3所述的面向web系统的数据加密解密方法,其特征是:
对于数据提交http请求或数据查询http请求中的需要加密的可搜索数据,所述web过滤器统计分词后得到的不同数据块数据出现的频度,缓存分组得到的不同数据块数据的明文和对应的密文,并利用缓存的明文和密文对数据块进行快速加密处理;
当缓存数据块的个数超过预定的阈值时,web过滤器将出现频度低的数据块的缓存数据清除;
一个数据块数据出现的频度是指在规定的时间段内此数据块数据出现的次数;
所述出现频度低的数据块是指出现的频度排在后面的数据块。
6.根据权利要求5所述的面向web系统的数据加密解密方法,其特征是:
所述数据加密解密配置信息中设置有分词关键词,分词组件在对可搜索数据进行分词处理时将数据中出现的分词关键词作为单独的数据组成部分即数据块分离出来进行处理;所述分词关键词分为需加密关键词和非加密关键词,对于从需加密的可搜索数据中分离出来的需加密关键词,所述web过滤器对其加密,而对于从需加密的可搜索数据中分离出来的非加密关键词,所述web过滤器不对其加密;对于非加密关键词,所述web过滤器不进行明文和对应密文的缓存处理。
7.根据权利要求6所述的面向web系统的数据加密解密方法,其特征是:
所述web过滤器统计数据查询http请求中的需要加密的可搜索数据中出现的搜索关键词出现的频度,对于出现的频度高而未在分词关键词中出现的搜索关键词,web过滤器将其作为需加密关键词加入到分词关键词中;
一个搜索关键词出现的频度是指在规定的时间段内此搜索关键词出现的次数;
所述出现频度高的搜索关键词是指出现的频度高于预定的阈值的搜索关键词。
8.根据权利要求6所述的面向web系统的数据加密解密方法,其特征是:
对于http响应中的需要解密的被加密的数据,所述web过滤器进一步通过数据加密解密配置信息确被加密的数据是否是可搜索的,若不是,则web过滤器调用密码组件对被加密的非可搜索数据进行解密处理,若是,则web过滤器调用密码组件对被加密的可搜索数据中的每个被加密的数据块分别进行解密处理,然后将解密后的数据块组合形成最后的被解密的数据。
9.根据权利要求8所述的面向web系统的数据加密解密方法,其特征是:
对于http响应中的需要解密的可搜索数据,所述web过滤器统计响应中的不同被加密的数据块数据出现的频度,缓存不同的被加密的数据块数据的密文和对应的明文,并利用缓存的密文和明文对被加密的数据块进行快速解密处理;
当缓存的加密数据的个数超过预定的阈值时,web过滤器将出现频度低的加密数据块的缓存数据清除;
一个加密数据块数据出现的频度是指在规定的时间段内此加密数据块数据出现的次数;
所述出现频度低的加密数据块是指出现的频度排在后面的加密数据块。
10.根据权利要求3所述的面向web系统的数据加密解密方法,其特征是:
若http响应返回的页面涉及数据查询搜索,而web过滤器从用户通过原响应页面提交的数据查询http请求中不能区分出查询请求中的哪些查询数据是不需要加密的,哪些查询数据是需要加密的,且对于需加密的查询数据哪些是可搜索的,则所述web过滤器在所述http响应返回的页面中插入代码,修改返回的页面,从而使得所述web过滤器从用户通过返回的页面提交的数据查询http请求的查询数据中能够作出上述区分。
11.一种基于权利要求1-10中任一项所述的面向web系统的数据加密解密方法的面向web系统的数据加密解密系统,其特征是:
所述数据加密系统包括web过滤器、密码组件、分词组件以及加密配置管理器;所述加密配置管理器对数据加密解密配置信息进行管理,包括生成、修改、保存数据加密解密配置信息;所述数据加密解密配置信息以文件或数据库数据的形式保存,并由web过滤器加载到web系统中;
当客户端通过http请求提交数据、查询数据以及获取数据时,所述数据加密系统按所述面向web系统的数据加密解密方法对http请求中需要加密的数据进行加密处理,对http响应中需要解密的数据进行解密处理。
技术总结