一种web服务器及其数据保护方法

文档序号:7702881阅读:514来源:国知局
专利名称:一种web服务器及其数据保护方法
技术领域
本发明涉及网络安全,特别是一种WEB服务器及其数据保护方法。
背景技术
目前的网站主页,经常被人恶意篡改。据国家计算机网络应急技术处理协调中 心发布的报告,2006年监测到中国大陆被篡改网站总数达到24,477个,与2005年相比增 长近一倍,占所有报告的网络安全事件的90%以上。现有的WEB服务器的结构如图1所示,包括数据库,用于保存与URL地址对应的网页数据;客户端服务模块,用于接收客户端发送的请求第一 URL地址的数据的第一数据 请求,并从所述数据库获取与所述第一 URL地址对应的第一网页数据,并将所述第二网 页数据发送给所述客户端;登陆认证模块,用于对管理端进行登陆认证;管理端服务模块,用于根据通过登陆认证的管理端发送的第二数据请求从数据 库获取与所述第二数据请求对应的第二网页数据后发送给所述管理端,并将从通过登陆 认证的管理端接收到的第三网页数据保存到所述数据库。网页被篡改的主要原因在于网站服务器软件的漏洞和配置上的失误,常用的攻 击手法包括利用客户端服务模块的漏洞,例如缓冲区溢出等,获得管理员权限,登录服务 器,修改服务器配置和网页数据;或利用管理员配置错误,比如强度很低的口令,使用 暴力破解,获得管理员权限,登录服务器,修改服务器配置和网页数据。通过排查服务器软件的配置失误,及时更新服务器软件至最新状态,安装防止 恶意代码的软件等方式可以减少网页被篡改的发生,但由于新的漏洞和配置失误总是存 在,因此其并不能彻底解决网页被篡改的问题。还有一种防止网页被篡改的方案是利用专门的监控软件来监测网页的变化情 况,一旦发现网页发生变化,监控软件就会报警或强行恢复。但这种方案强调实时检 测,占用大量的系统资源(随时对所有的网页进行检查;网页更新时,该系统也要相应 地更新;至少要对网页的内容做备份,才能进行恢复),而且该监控软件自身的安全也 存在隐患,可能被攻击者攻陷,一旦被攻陷就无法防止网页被篡改。当然,上述是以网页数据为例进行的说明,同样的,数据库中的其他数据也可 能被篡改的风险。因此,发明人在实现本发明的过程中发现,现有技术防止数据被篡改的技术方 案中,都无法彻底防止数据库中的数据被篡改。

发明内容
本发明实施例的目的是提供一种WEB服务器及其数据保护方法,提高WEB服务器中的数据库中的数据的安全性。为了实现上述目的,本发明实施例提供了一种WEB服务器,包括数据库,用于保存数据;数据处理模块,用于拦截对所述数据库的操作请求;TCM芯片,用于对所述操作请求的发送方进行认证,得到一认证结果;所述数据处理模块还用于在所述认证结果指示认证通过后,根据所述操作请求 对所述数据库执行访问操作。上述的WEB服务器,其中,所述TCM芯片中设置有一判断单元,用于判断所述操作请求是否为写请求;认证单元,用于在所述操作请求为写请求时,对所述操作请求的发送方进行认 证,获取所述认证结果,在所述操作请求为读请求时,指示认证通过。上述的WEB服务器,其中,所述TCM芯片还用于对所述数据处理模块进行认 证。上述的WEB服务器,其中,还包括管理端服务模块,用于与客户端进行交互;客户端服务模块,用于与管理端进行交互;所述操作请求的发送方为所述管理端服务模块或客户端服务模块。上述的WEB服务器,其中,所述数据处理模块中包括第一读处理单元,用于在所述操作请求为读请求时,且认证通过后,获取所述 读请求对应的第一数据后发送给所述读请求的发送方;第一写处理单元,用于在所述操作请求为写请求时,且认证通过后,将所述写 请求对应的第二数据保存到所述数据库。上述的WEB服务器,其中,所述数据库中保存的网页数据是利用密钥加密后的 网页数据;所述TCM芯片中设置有密钥处理单元,用于生成并保存所述密钥;所述数据处理模块中包括密钥获取单元,用于在所述认证通过后,从所述TCM芯片获取所述密钥;第二读处理单元,用于在所述操作请求为读请求时,利用所述密钥解密所述数 据库中的数据后,将所述读请求所请求的数据发送给所述操作请求的发送方;第二写处理单元,用于在所述操作请求为写请求时,利用所述密钥加密所述第 二数据后,将加密后的第二数据发送到所述数据库保存。上述的WEB服务器,其中,所述TCM芯片具体用于通过HASH值进行认证。为了实现上述目的,本发明实施例还提供了一种WEB服务器的数据保护方法, 所述WEB服务器中包括一数据库,包括拦截对所述数据库的操作请求;利用TCM芯片对所述操作请求的发送方进行认证,获取一认证结果;在所述认证结果指示认证通过后,根据所述操作请求对所述数据库执行访问操作。上述的WEB服务器的数据保护方法,其中,所述利用TCM芯片对所述操作请求的发送方进行认证具体包括TCM芯片判断所述操作请求是否为写请求;在所述操作请求为写请求时,TCM芯片对所述操作请求的发送方进行认证,获 取所述认证结果;在所述操作请求为读请求时,指示认证通过。上述的WEB服务器的数据保护方法,其中,所述操作请求的发送方为设置于所 述WEB服务器的所述管理端服务模块或客户端服务模块。上述的WEB服务器的数据保护方法,其中,在所述认证结果指示认证通过后, 根据所述操作请求对所述数据库执行访问操作具体包括在所述认证通过后,所述操作请求为读请求时,获取所述读请求对应的第一数 据后发送给所述读请求的发送方,在所述操作请求为写请求时,将所述写请求对应的第 二数据保存到所述数据库。上述的WEB服务器的数据保护方法,其中,所述数据库中保存的网页数据是利 用密钥加密后的网页数据,所述TCM芯片中生成并保存有密钥;在所述认证结果指示认 证通过后,根据所述操作请求对所述数据库执行访问操作具体包括在所述认证通过后,从所述TCM芯片获取所述密钥;在所述操作请求为读请求时,利用所述密钥解密所述数据库中的数据后,将所 述读请求所请求的数据发送给所述操作请求的发送方;在所述操作请求为写请求时,利用所述密钥加密所述第二数据后,将加密后的 第二数据发送到所述数据库保存。本发明实施例具有以下的有益效果本发明实施例中,通过拦截对所述数据库的操作请求,并利用TCM芯片对所述 操作请求的发送方进行认证,得到一认证结果;只有在认证通过后,才能够根据所述操 作请求对所述数据库执行访问操作,并向所述操作请求的发送方返回访问结果。因此, 只有可信主体才能对数据库进行操作,从而解决了网页被篡改的问题。由于针对主体的 认证是基于硬件的TCM芯片来完成,而不是依靠软件口令等方法来实现,极大地提高了 数据的安全性。


图1为现有的WEB服务器的结构示意图;图2为本发明实施例的WEB服务器的结构示意图;图3为本发明实施例的方法的流程示意图。
具体实施例方式本发明实施例的一种WEB服务器及其数据保护方法中,通过硬件形式的 TCM(Trusted Cryptographic Module,可信密码模块)芯片对数据访问方进行认证,而且,
对数据库中的网页数据文件以加密方式进行保存,以保证服务器中的数据的安全。如图2所示,本发明实施例的WEB服务器包括数据库,用于保存数据;管理端服务模块,用于与客户端进行交互;
客户端服务模块,用于与管理端进行交互;数据处理模块,用于拦截所述管理端服务模块或所述客户端服务模块对所述数 据库的操作请求;TCM芯片,用于对所述数据处理模块和所述操作请求的发送方(管理端服务模 块或客户端服务模块)进行认证,得到一认证结果;数据处理模块,还用于在认证结果指示认证通过后,根据所述操作请求对所述 数据库执行访问操作,向所述操作请求的发送方返回访问结果。在所述操作请求为读请求时,从所述数据库中获取所述读请求对应的第一数据 后发送给所述读请求的发送方(管理端服务模块或客户端服务模块),在所述操作请求为 写请求时,将所述写请求对应的第二数据后发送给所述数据库保存。通过上述描述可以发现,只有在所述认证通过后,所述数据处理模块才被允许 对所述数据库执行访问操作。当然,考虑到数据处理模块设置于内部,相对于其他模块安全性较高,也可以 不进行认证。下面对上述的实施例进行详细说明。在本发明的具体实施例中,数据处理模块可以通过如下方式拦截操作请求在服务器操作系统中增加过滤驱动或系统hook的模块,使管理端服务模块或所 述客户端服务模块在访问相关原始数据时,自动加以拦截。相对于现有技术,本发明的具体实施例的WEB服务器中增加了一 TCM芯片和 一个数据处理模块,管理端服务模块和客户端服务模块对数据库的操作请求将被数据处 理模块拦截,无法直接与数据库进行数据交互,而且对于管理端服务模块和客户端服务 模块的认证由基于硬件的TCM芯片来完成,相对于仅仅依靠软件口令等方法来实现,能 够保证数据库中网页数据的安全。当然,应当理解的是,上述的TCM对所述数据处理模块和所述操作请求的发送 方(管理端服务模块或客户端服务模块)均进行认证,在所述数据处理模块安全的情况 下,也可以仅对所述操作请求的发送方(管理端服务模块或客户端服务模块)均进行认 证。TCM芯片主要是对数据处理模块、管理端服务模块和客户端服务模块进行程序 完整性验证和配置完整性验证,由于是基于硬件的TCM芯片来进行验证,大大加强了验 证的可靠性。TCM作为一个功能有限的硬件,其中具备独立运算能力,加密的存储区域和专 用的操作系统。所谓TCM芯片进行认证包含以下内容在TCM芯片中预先保存基于原始的数据处理模块、管理端服务模块和客户端服 务模块(也就是没有被恶意修改之前的数据处理模块、管理端服务模块和客户端服务模 块)计算得到的各模块各自的原始HASH值,其根据软件自身程序和配置的计算得到; 例如该原始HASH值可以在数据处理模块、管理端服务模块和客户端服务模块投入使用 之前计算得到的HASH值。在认证过程中,数据处理模块、管理端服务模块和客户端服务模块重新计算自 身的HASH值,提交给TCM芯片,由TCM芯片比较该提交的HASH值是否与预先保存的该模块的HASH值相同,如果相同,则说明数据处理模块、管理端服务模块和客 户端服务模块没有被恶意篡改,体现了完整性校验,一旦不同,则证明数据处理模块、 管理端服务模块和客户端服务模块中的程序或者配置被恶意篡改,所以无法得到与原始 HASH值相同的HASH值,所以也就无法通过验证。当然,计算HASH值还可以根据数据处理模块、管理端服务模块和客户端服务 模块的其他参数来得到,在此不作一一说明。当然,在数据处理模块、管理端服务模块和客户端服务模块进行了合法修改 时,需要更新TCM芯片中预先保存的HASH值。相对于现有技术的WEB服务器,上述实施例的WEB服务器利用数据处理模块 隔离了管理端服务模块和客户端服务模块与数据库之间的直接连接,提高了 WEB服务器 中数据库的安全,但如果恶意地越过TCM芯片的认证流程,可能还是能够对数据库中的 数据进行操作,为了进一步加强数据库中的数据的安全,本发明实施例的WEB服务器还 具有如下特征所述数据库中保存的网页数据是利用密钥加密后的网页数据;所述TCM芯片中设置有密钥处理单元,用于生成并保存所述密钥;所述数据处理模块中包括密钥获取单元,用于在所述认证通过后,从所述TCM芯片获取所述密钥;第二读处理单元,用于在所述操作请求为读请求时,利用所述密钥解密所述数 据库中的数据后,从解密后的数据中获取所述第一数据后发送给所述操作请求的发送 方;第二写处理单元,用于在所述操作请求为写请求时,利用所述密钥加密所述第 二数据后,将加密后的第二数据发送到所述数据库保存。数据处理模块、管理端服务模块和客户端服务模块,提供各自不同的密钥,经 过TCM内部的运算,获得加解密数据需要的密钥,确认是希望的程序来操作数据。通过上述的方式,即使恶意用户越过TCM芯片的认证程序,但只能获取加密后 的数据,但由于无法获取保存在TCM芯片中的密钥,因此只能看到乱码,无法进行修改 后存入数据库,因此无法篡改网页,保证了数据的安全。当然,对于管理端的认证,可以通过如下的两种方式进行。方式一,利用登陆认证模块对管理端进行认证;方式二,利用TCM芯片中设置的认证模块对管理端进行认证。相对而言,方式二能够提高认证的准确性。下面对本发明实施例的方法进行详细说明。如图3所示,本发明实施例的方法包括步骤31,数据处理模块拦截管理端服务模块或客户端服务模块对所述数据库的 操作请求;步骤32,TCM芯片对所述数据处理模块和所述操作请求的发送方进行认证;步骤33,数据处理模块在所述认证通过后,判断所述操作请求是否为读请求, 如果是,进入步骤34,否则进入步骤35;步骤34,数据处理模块从所述数据库中获取所述操作请求对应的第一数据后发送给所述读请求的发送方(管理端服务模块或客户端服务模块);步骤35,数据处理模块将写请求对应的第二数据后发送给所述数据库保存。下面分别以浏览器端和管理端对网页数据的访问为例进行说明。客户端(浏览器端)向客户端服务模块发送一数据读请求,请求读取第一 URL 地址对应的第一网页数据,客户端服务模块接收到该数据请求后,会产生向数据库请求 第一网页数据的第二数据请求,由于设置了数据处理模块,其会拦截第二数据请求。数据处理模块在拦截该第二数据请求后,与TCM芯片交互,由TCM芯片对数 据处理模块、客户端服务模块和客户端用户进行验证,如果验证不通过,则直接控制数 据处理模块停止当前操作,验证通过后,允许数据处理模块对数据库进行访问,而数据 处理模块则可以从数据库获取第二数据请求对应的数据发送给客户端服务模块,并由客 户端服务模块发送给客户端。管理端请求从数据库获取数据的处理过程与客户端请求从数据库获取数据的处 理过程完全一致,在此不重新描述。如果是写入数据,管理端向管理端服务模块发送一数据写请求,请求向数据库 写入数据,管理端服务模块接收到该数据写请求后,会产生向数据库请求写入数据的请 求,由于设置了数据处理模块,数据处理模块会拦截管理端服务模块发送的数据写请 求。数据处理模块在拦截该数据写请求后,与TCM芯片交互,由TCM芯片对数据 处理模块、管理端服务模块和管理端用户进行验证,如果验证不通过,则直接控制数据 处理模块停止当前操作,验证通过后,允许数据处理模块对数据库进行访问,而数据处 理模块则可以向数据库写入相应的数据。通过上述的描述可以发现,所有的验证都是由基于硬件的TCM芯片来完成,所 以相对于现有技术的软件口令验证方式,提高了数据库中的数据的安全。当然,为了进一步提高数据的安全,本发明实施例的方法中还包括TCM芯片生成并保存密钥,并利用生成的密钥对数据库中已有的数据进行加 密;步骤32和33之间还包括所述认证通过后,数据处理模块从所述TCM芯片获取所述密钥;步骤34具体为数据处理模块利用所述密钥解密所述数据库中的数据后,从解密后的数据中获 取所述第一数据后发送给所述操作请求的发送方;步骤35具体为数据处理模块利用所述密钥加密所述第二数据后,将加密后的第二数据发送到 所述数据库保存。当然,上述的实施例都是以对读写请求均进行认证的情况进行的说明,但应当 了解的是,对于某些应用场景(如数据库中的数据没有保密需求),其安全隐患来自于写 请求,这种情况下,可以通过TCM芯片对拦截的访问请求进行判断,在该访问请求为写 请求时,才执行对请求发送方的认证,而在访问请求为读请求时,直接指示认证通过即可。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术 人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润 饰也应视为本发明的保护范围。
权利要求
1.一种WEB服务器,其特征在于,包括 数据库,用于保存数据;数据处理模块,用于拦截对所述数据库的操作请求;可信密码模块TCM芯片,用于对所述操作请求的发送方进行认证,得到一认证结果;所述数据处理模块还用于在所述认证结果指示认证通过后,根据所述操作请求对所 述数据库执行访问操作。
2.根据权利要求1所述的WEB服务器,其特征在于,所述TCM芯片中设置有 一判断单元,用于判断所述操作请求是否为写请求;认证单元,用于在所述操作请求为写请求时,对所述操作请求的发送方进行认证, 获取所述认证结果,在所述操作请求为读请求时,指示认证通过。
3.根据权利要求1或2所述的WEB服务器,其特征在于,所述TCM芯片还用于对 所述数据处理模块进行认证。
4.根据权利要求1或2所述的WEB服务器,其特征在于,还包括 管理端服务模块,用于与客户端进行交互;客户端服务模块,用于与管理端进行交互;所述操作请求的发送方为所述管理端服务模块或客户端服务模块。
5.根据权利要求1或2所述的WEB服务器,其特征在于,所述数据处理模块中包括第一读处理单元,用于在所述操作请求为读请求时,且认证通过后,获取所述读请 求对应的第一数据后发送给所述读请求的发送方;第一写处理单元,用于在所述操作请求为写请求时,且认证通过后,将所述写请求 对应的第二数据保存到所述数据库。
6.根据权利要求1或2所述的WEB服务器,其特征在于,所述数据库中保存的网页 数据是利用密钥加密后的网页数据;所述TCM芯片中设置有密钥处理单元,用于生成并保存所述密钥; 所述数据处理模块中包括密钥获取单元,用于在所述认证通过后,从所述TCM芯片获取所述密钥; 第二读处理单元,用于在所述操作请求为读请求时,利用所述密钥解密所述数据库 中的数据后,将所述读请求所请求的数据发送给所述操作请求的发送方;第二写处理单元,用于在所述操作请求为写请求时,利用所述密钥加密所述第二数 据后,将加密后的第二数据发送到所述数据库保存。
7.根据权利要求1或2所述的WEB服务器,其特征在于,所述TCM芯片具体用于 通过哈希HASH值进行认证。
8.—种WEB服务器的数据保护方法,所述WEB服务器中包括一数据库,其特征在 于,包括拦截对所述数据库的操作请求;利用可信密码模块TCM芯片对所述操作请求的发送方进行认证,获取一认证结果; 在所述认证结果指示认证通过后,根据所述操作请求对所述数据库执行访问操作。
9.根据权利要求8所述的WEB服务器的数据保护方法,其特征在于,所述利用TCM 芯片对所述操作请求的发送方进行认证具体包括TCM芯片判断所述操作请求是否为写请求;在所述操作请求为写请求时,TCM芯片对所述操作请求的发送方进行认证,获取所 述认证结果;在所述操作请求为读请求时,指示认证通过。
10.根据权利要求8或9所述的WEB服务器的数据保护方法,其特征在于,所述操作 请求的发送方为设置于所述WEB服务器的所述管理端服务模块或客户端服务模块。
11.根据权利要求8或9所述的WEB服务器的数据保护方法,其特征在于,在所述认 证结果指示认证通过后,根据所述操作请求对所述数据库执行访问操作具体包括在所述认证通过后,在所述操作请求为读请求时,获取所述读请求对应的第一数据 后发送给所述读请求的发送方,在所述操作请求为写请求时,将所述写请求对应的第二 数据保存到所述数据库。
12.根据权利要求8或9所述的WEB服务器的数据保护方法,其特征在于,所述数 据库中保存的网页数据是利用密钥加密后的网页数据,所述TCM芯片中生成并保存有密 钥;在所述认证结果指示认证通过后,根据所述操作请求对所述数据库执行访问操作具 体包括在所述认证通过后,从所述TCM芯片获取所述密钥;在所述操作请求为读请求时,利用所述密钥解密所述数据库中的数据后,将所述读 请求所请求的数据发送给所述操作请求的发送方;在所述操作请求为写请求时,利用所述密钥加密所述第二数据后,将加密后的第二 数据发送到所述数据库保存。
全文摘要
本发明提供一种WEB服务器及其数据保护方法,该WEB服务器包括数据库,用于保存数据;数据处理模块,用于拦截对所述数据库的操作请求;TCM芯片,用于对所述操作请求的发送方进行认证,得到一认证结果;所述数据处理模块还用于在所述认证结果指示认证通过后,根据所述操作请求对所述数据库执行访问操作,并向所述操作请求的发送方返回访问结果。本发明极大地提高了WEB服务器的数据库的安全性。
文档编号H04L9/32GK102025492SQ200910092890
公开日2011年4月20日 申请日期2009年9月10日 优先权日2009年9月10日
发明者宁晓魁, 胡民, 郭轶尊 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1