CN103310160A - 一种防止网页被篡改的方法、系统及装置 - Google Patents
一种防止网页被篡改的方法、系统及装置 Download PDFInfo
- Publication number
- CN103310160A CN103310160A CN201310247171XA CN201310247171A CN103310160A CN 103310160 A CN103310160 A CN 103310160A CN 201310247171X A CN201310247171X A CN 201310247171XA CN 201310247171 A CN201310247171 A CN 201310247171A CN 103310160 A CN103310160 A CN 103310160A
- Authority
- CN
- China
- Prior art keywords
- data
- user
- sql
- signature
- obtains
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种防止网页被篡改的方法、系统及装置,能够有效地对网页数据进行认证,提高网页数据的安全性。其中,该方法包括:接收终端用户发来的网页数据更新请求;在所述网页数据更新请求是请求对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器,和/或在所述网页数据更新请求是请求对动态数据进行更新时,通过密钥对用于更新动态数据的SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器,其中数据库服务器在确定出SQL中各字段的数值的签名均为有效签名时,执行SQL进行动态数据的更新。
Description
技术领域
本发明涉及互联网安全技术领域,尤其是涉及一种防止网页被篡改的方法、系统及装置。
背景技术
随着信息时代的到来,在网络上提供各种网页内容信息服务的网络服务器变得越来越普及。网站已成为企事业单位、政府机关的形象窗口,也是对外开展业务、提供服务的重要手段。网页篡改主要是指将网页中的内容修改为与原始内容不一致的内容。如果网站页面被篡改,不仅将影响正常业务的开展,而且会对企业形象、政府信誉带来极其不好的影响。更有甚者,某些不法分子还利用篡改网页这种手段进行欺诈犯罪活动。
现有技术中,防止网页被篡改的方法主要采用外挂轮询方式、核心内嵌方式、事件触发方式以及文件过滤驱动方式。其中外挂轮询方式是利用一个网页读取和检测程序,以轮询方式读出要进行认证的网页,然后将读出的要认证的网页与真实网页相比较,来判断网页内容的完整性,对于被篡改的网页进行报警和恢复。核心内嵌方式防止网页被篡改,是将篡改检测模块内嵌在Web服务器软件里,这样,篡改检测模块在每一个网页流出时都进行完整性检查,对于篡改网页进行实时访问阻断,并予以报警和恢复。采用事件触发方式防止网页被篡改,是利用操作系统的文件系统接口,在网页文件的被修改时进行合法性检查,对于非法操作进行报警和恢复。采用文件过滤驱动方式防止网页被篡改,是采用操作系统底层文件过滤驱动技术,拦截与分析IRP流,对所有受保护的网站目录的写操作都立即截断。
但是,现有技术中防止网页被篡改的方式,仅是基于对网页数据的保护技术,因此局限性较强,不能有效的保证网页数据的安全,如果网络系统中存在结构化查询语言(SQL,Structured Query Language)注入类的漏洞,存储网页数据的数据库服务器易受到SQL注入攻击,导致网页被恶意篡改。
发明内容
本发明实施例提供了一种防止网页被篡改的方法、系统及装置,能够有效防止网页被篡改,提高网页数据的安全性。
一种防止网页被篡改的方法,包括:接收终端用户发来的网页数据更新请求;在所述网页数据更新请求是请求对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器,其中所述文件服务器在确定出所述签名为有效签名时,存储所述更新的静态数据,和/或在所述网页数据更新请求是请求对动态数据进行更新时,通过密钥对用于更新动态数据的结构化查询语言SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器,其中所述数据库服务器在确定出SQL中各字段的数值的签名均为有效签名时,执行所述SQL进行动态数据的更新。
一种防止网页被篡改的系统,包括至少一个发布服务器或网页Web服务器,至少一个文件服务器和至少一个数据库服务器,其中:所述发布服务器或Web服务器,用于接收终端用户发来的网页数据更新请求,在所述网页数据更新请求是请求对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器,和/或在所述网页数据更新请求是请求对动态数据进行更新时,通过密钥对用于更新动态数据的结构化查询语言SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器;所述文件服务器,用于在确定出接收到的更新的静态数据中包含的所述签名为有效签名时,存储所述更新的静态数据;所述数据库服务器,用于在确定出SQL中各字段的数值的签名均为有效签名时,执行所述SQL进行动态数据的更新。
一种防止网页被篡改的装置,包括:接收模块,用于接收终端用户发来的网页数据更新请求;执行模块,用于在所述网页数据更新请求是请求对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器,其中所述文件服务器在确定出所述签名为有效签名时,存储所述更新的静态数据,和/或在所述网页数据更新请求是请求对动态数据进行更新时,通过密钥对用于更新动态数据的结构化查询语言SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器,其中所述数据库服务器在确定出SQL中各字段的数值的签名均为有效签名时,执行所述SQL进行动态数据的更新。
采用上述技术方案,通过对接收到的终端用户发来的网页数据更新请求进行判断,如果是对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器,如果是请求对动态数据进行更新时,通过密钥对用于更新动态数据的结构化查询语言SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器,后续文件服务器和数据库服务器会对签名进行验证,只有在有效签名的情况下,才存储相应的网页数据。对于网络系统中存储静态数据的文件服务器来说,通过上述技术方案,文件服务器在存储静态数据之前,需要校验待存储的静态数据的签名,所以即使攻击者获得了文件服务器的相关权限,也会因为无法构造出包含正确签名的文静态数据而不能更新网页数据。对于存储动态数据的数据库服务器来说,数据库服务器在执行更新操作前校验SQL各字段的数值的签名,所以即使存在可被利用的SQL注入漏洞,也会因为无法构造出包含正确签名的数据而不能修改数据库服务器中存储的动态数据。从而防止了网页被恶意篡改,提高了网页数据的安全性。
附图说明
图1a~图1b为本发明实施例中,提出的第一种防止网页被篡改的系统结构组成示意图;
图2为本发明实施例中,提出的第二种防止网页被篡改的系统结构组成示意图;
图3为本发明实施例中,提出的防止网页被篡改的方法流程图;
图4为本发明实施例中,提出的防止网页被篡改的装置结构组成示意图。
具体实施方式
针对现有技术中存在的网页容易被恶意篡改,网页数据安全性较低的问题,本发明实施例这里提出的技术方案中,通过对待存储的静态数据,增加签名,以及通过对待执行的SQL各字段的数值增加签名,后续在文件服务器存储静态数据值,会对签名进行验证,验证通过采存储该静态数据,同样,数据库服务器在执行SQL进行数据的更新时,也会对SQL各字段的数值增加的签名进行验证,在确定出SQL中各字段的数值的签名均为有效签名时,执行所述SQL进行动态数据的更新。对于网络系统中存储静态数据的文件服务器来说,通过上述技术方案,文件服务器在存储静态数据之前,需要校验待存储的静态数据的签名,所以即使攻击者获得了文件服务器的相关权限,也会因为无法构造出包含正确签名的文静态数据而不能更新网页数据。对于存储动态数据的数据库服务器来说,数据库服务器在执行更新操作前校验SQL各字段的数值的签名,所以即使存在可被利用的SQL注入漏洞,也会因为无法构造出包含正确签名的数据而不能修改数据库服务器中存储的动态数据。从而防止了网页被恶意篡改,提高了网页数据的安全性。对于所有对网页数据的改动,都能够在网页数据发布前进行认证,从源头保证了网页数据的安全,并且,对于实时发布的动态网页数据,也可以在验证通过后再进行存储,然后再发布,能够有效地对网页数据进行认证,提高网页数据的安全性。
下面将结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
本发明实施例这里提出一种防止网页被篡改的系统,其中一种组成结构如图1a所示,包括至少一个发布服务器、至少一个文件服务器和至少一个数据库服务器。如图1b所示,还可以包括至少一个Web服务器、至少一个文件服务器和至少一个数据库服务器。如图2所示,为本发明实施例这里提出的另外一种防止网页被篡改的系统结构组成示意图,包括至少一个发布服务器和至少一个Web服务器,至少一个文件服务器和至少一个数据库服务器。终端用户可以通过发布服务器发送网页数据更新请求,也可以通过Web服务器发送网页数据更新请求。较佳地,本发明实施例以图2所示的系统架构为例来进行详细阐述:
发布服务器或Web服务器,用于接收终端用户发来的网页数据更新请求,在接收到的网页数据更新请求是请求对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器,和/或在接收到的网页数据更新请求是请求对动态数据进行更新时,通过密钥对用于更新动态数据的SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器。
终端用户可以是网站管理人员,也可以是普通的终端用户,如果是网站管理人员,则通过发布服务器发送网页数据更新请求,如果是普通终端用户,则可以通过Web服务器发送网页数据更新请求。终端用户可以仅对静态数据进行更新,也可以仅对动态数据进行更新,还可以同时对动态数据和静态数据进行更新。
发布服务器/Web服务器,在接收到终端用户发来的网页数据更新请求后,对接收到的网页数据更新请求进行判断,确定接收到的网页数据更新请求是对静态数据更新还是对动态数据进行更新。其中,网页数据包含静态数据和动态数据。静态数据可以包括网页文件、程序文件(PHP、java、asp、javascript等)、资源文件(图片、音频、视频、flash等)。动态数据可以包括网络系统中设置的数据库服务器中存储的网页数据。
文件服务器,用于在确定出接收到的更新的静态数据中包含的签名为有效签名时,存储所述更新的静态数据。
数据库服务器,用于在确定出SQL中各字段的数值的签名均为有效签名时,执行所述SQL进行动态数据的更新。
其中,密钥可以包含终端用户的用户标识,签名可以包含数字签名或编码。则通过密钥对更新的静态数据进行签名和用于更新动态数据的SQL中各字段的数值进行签名的具体实施方式可以包含下述两种方式:
第一种方式:基于用户标识进行数字签名。当密钥包含终端用户的用户标识,签名是数字签名时,则可以通过用户标识,在更新的静态数据指定字段中进行数字签名。以及通过用户标识,对获得的用于更新动态数据的SQL中各字段的数值进行数字签名。
第二种方式:基于用户标识进行编码。根据随机生成的码表对更新的静态数据进行处理后得到编码,通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到处理后得到的编码中,发送用户标识和得到进行签名后的更新的静态数据。以及根据随机生成的码表对获得的用于更新动态数据的SQL中各字段的数值进行处理后得到编码;通过非对称加密方式中的私钥,将随机生成的码表和用户标识加密到对SQL中各字段的数值处理后得到的编码中,发送用户标识和得到的签名后的用于更新动态数据的SQL中各字段的数值。
为便于阐述,本发明实施例在上述两种方式的阐述中,将对静态数据和动态数据进行签名的方式同时进行阐述,具体实施中,也可以仅采用上述两种方式中的任一一种来实现对静态数据的签名,或者仅采用上述两种方式中的任意一中来实现对动态数据的签名。或者在对静态数据和动态数据进行签名时,均采用数字签名的方式,或者均采用编码的方式。具体实施中,可以根据上述两种方式来进行变型处理。
在上述第二种方式中,发布服务器或Web服务器,根据随机生成的码表对更新的静态数据进行处理后得到编码,通过非对称加密方式中的私钥,将随机生成的码表和用户标识加密到处理后得到的编码,发送所述用户标识和得到进行签名后的更新的静态数据给文件服务器;以及根据随机生成的码表对获得的用于更新动态数据的SQL中各字段的数值进行处理后得到编码,通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到对SQL中各字段的数值处理后得到的编码中,发送所述用户标识和得到的签名后的用于更新动态数据的SQL中各字段的数值给数据库服务器。
文件服务器,可以基于接收到的用户标识确定非对称加密方式中的公钥,通过公钥进行解密,获得随机生成的码表和所述用户标识加密到处理后得到的编码,将通过公钥得到的用户标识与接收到的用户标识进行比对,如果一致,存储所述更新后的静态数据。
具体地,文件服务器,在通过公钥得到的用户标识与接收到的用户标识比对结果一致时,基于获得的码表对更新的静态数据进行处理,存储处理后的静态数据。
数据库服务器,可以基于接收到的用户标识确定非对称加密方式中的公钥,通过公钥进行解密,将随机生成的码表和所述用户标识加密到对SQL中各字段的数值处理后得到的编码中的用户标识,将通过公钥得到的用户标识与接收到的用户标识进行比对,如果一致,执行所述SQL来更新动态数据。
具体地,数据库服务器可以在通过公钥得到的用户标识与接收到的用户标识比对结果一致时,基于获得的码表对用于更新动态数据的SQL中各字段的数值进行处理,执行所述处理后得到的SQL更新动态数据。
基于上述提出的防止网页被篡改的系统,本发明实施例这里还提出一种防止网页被篡改的方法,如图3所示,其具体处理流程如下述:
步骤31,接收终端用户发来的网页数据更新请求。
终端用户可以是网站管理人员,也可以是普通的终端用户,如果是网站管理人员,则通过发布服务器发送网页数据更新请求,如果是普通终端用户,则可以通过Web服务器发送网页数据更新请求。网页数据更新请求所请求更新的网页数据,可以是对原网页数据的替换,对原网页数据的删除或者是新发布一些网页数据。
步骤32,确定接收到的网页数据更新请求所请求更新的网页数据,如果所请求更新的网页数据是静态数据,则执行步骤33,如果所请求更新的网页数据是动态数据,则执行步骤37。
在接收到终端用户发来的网页数据更新请求后,对接收到的网页数据更新请求进行判断,确定接收到的网页数据更新请求是对静态数据更新还是对动态数据进行更新。其中,网页数据包含静态数据和动态数据。静态数据可以包括网页文件、程序文件(PHP、java、asp、javascript等)、资源文件(图片、音频、视频、flash等)。动态数据可以包括网络系统中设置的数据库服务器中存储的网页数据。
步骤33,在确定出接收到的网页数据更新请求是请求对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器。
步骤34,文件服务器判断签名是否是有效签名,如果判断结果为是,则执行步骤35,反之执行步骤36。
步骤35,文件服务器在确定出签名为有效签名时,存储更新的静态数据。
步骤36,文件服务器在确定出签名不是有效签名后,丢弃该接收到的更新的静态数据。
步骤37,在确定出接收到的网页数据更新请求是请求对动态数据进行更新时,通过密钥对用于更新动态数据的SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器。
步骤38,数据库服务器判断SQL中各字段的数值的签名是否均为有效签名,如果判断结果为是,执行步骤39,反之执行步骤40。
步骤39,数据库服务器在确定出SQL中各字段的数值的签名均为有效签名时,执行SQL来进行动态数据的更新。
步骤40,数据库服务器在确定出SQL中各字段的数值的签名并不是全部字段的值都是有效签名时,丢弃该接收到的SQL。
其中,在上述步骤33~步骤40中,密钥可以包含终端用户的用户标识,签名包含数字签名或编码,则通过密钥对更新的静态数据进行签名以及通过密钥对用于更新动态数据的SQL中各字段的数值进行签名的实现方式可以包含下述两种方式:
第一种方式:基于用户标识进行数字签名。当密钥包含终端用户的用户标识,签名是数字签名时,则可以通过用户标识,在更新的静态数据指定字段中进行数字签名。以及通过用户标识,对获得的用于更新动态数据的SQL中各字段的数值进行数字签名。
该种方式中,假设网络管理人员向发布服务器提交的网页数据中的静态数据采用index.php表示,静态数据中包含的内容采用[xxxxxx]表示。发布服务器在接收到网络管理人员发送的网页数据更新请求之后,做出发布响应,并通知网络管理人员提供预先分配的用户标识。网络管理人员按照发布响应,提供用户标识。发布服务器接收到用户提供的密钥,使用密钥在用户提交的静态数据index.php包含的内容的指定字段中嵌入数字签名,则嵌入数字签名后的静态数据的内容变为[sig][xxxxxx]。发布服务器将嵌入数字签名后的静态数据index.php上传到文件服务器。文件服务器收到静态数据index.php之后,在指定字段获得嵌入的数字签名,对获得的数字签名进行验证,在确认出数字签名[sig]是对静态数据的内容[xxxxxx]的有效数字签名后,验证通过,则将静态数据的内容[xxxxxx]写入到文件服务器中存储的静态数据index.php中。此时文件服务器中存储的静态数据index.php的内容为[xxxxxxxx]。如果文件服务器中没有存储静态数据index.php,则直接在文件服务器的存储区域存储静态数据index.php,并将静态数据index.php的内容[xxxxxxxx]也写入。
同样地,对于数据库服务器来说,假设网站管理人员向发布服务器发送的网页数据更新请求中包含用于更新动态数据的SQL,例如网站管理人员基于SQL需要发布标题为[title],正文内容是[content]的文章。则网站管理人员向发布服务器发送的网页数据更新请求中包含[title]、[content]。发布服务器在接收到包含[title]、[content]的网页数据更新请求后,做出发布响应,通知网站管理人员提供用户标识。网站管理人员输入提供用户标识,发布服务器接收到网站管理人员发来的用户标识后,使用用户标识在指定字段嵌入数字签名,得到嵌入数字签名后的[sig1][title],[sig2][content]。发布服务器向数据库服务器提交SQL操作:insert into posts values([sig1][title],[sig2][content]),数据库服务器接收到嵌入数字签名的SQL,对SQL进行解析,获得SQL各个字段嵌入的数字签名,对获得的数字签名进行校验,在确认出嵌入的数字签名[sig1]是[title]的有效数字签名,且[sig2]是[content]的有效数字签名之后,确定验证通过,数据库服务器将嵌入数字签名的SQL还原为[title]、[content]存储。
第二种方式:基于用户标识进行编码。根据随机生成的码表对更新的静态数据进行处理后得到编码,通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到处理后得到的编码中,发送用户标识和得到进行签名后的更新的静态数据。以及根据随机生成的码表对获得的用于更新动态数据的SQL中各字段的数值进行处理后得到编码;通过非对称加密方式中的私钥,将随机生成的码表和用户标识加密到对SQL中各字段的数值处理后得到的编码中,发送用户标识和得到的签名后的用于更新动态数据的SQL中各字段的数值。
该种方式中,假设网络管理人员向发布服务器提交的网页数据中的静态数据采用index.php表示,静态数据中包含的内容采用[xxxxxx]表示。发布服务器在接收到网络管理人员发送的网页数据更新请求之后,做出发布响应,并通知网络管理人员提供预先分配的用户标识。网络管理人员按照发布响应,提供用户标识。发布服务器生成随机码表Code,并使用生成的随机码表Code对静态数据中包含的数据[xxxxxx]编码得到enc-Data。以及基于非对称加密的方式,将接收到的用户标识与随机生成的随机码表Code,一起用私钥加密到enc-Data中。发布服务器将用户标识和用私钥加密后得到的编码enc-Data发送给文件服务器。文件服务器接收到发布服务器发来的用户标识和用私钥加密后得到的编码enc-Data之后,基于接收到的用户标识,获得公钥,基于获得的公钥对接收到的用私钥加密后得到的编码enc-Data进行解析,得到用私钥加密后得到的编码enc-Data中包含的用户标识和使用生成的随机码表Code对静态数据中包含的数据[xxxxxx]编码得到的enc-Data,为便于区分,将解析后得到的enc-Data采用Dec-Code来表示。将得到的Dec-Code基于码表处理后得到用户标识,文件服务器将接收到的用户标识和解析得到的用户标识进行比对,如果一致,则确认验证通过,文件服务器将静态数据的内容[xxxxxx]写入到文件服务器中存储的静态数据index.php中。此时文件服务器中存储的静态数据index.php的内容为[xxxxxxxx]。如果文件服务器中没有存储静态数据index.php,则直接在文件服务器的存储区域存储静态数据index.php,并将静态数据index.php的内容[xxxxxxxx]也写入。如果不一致,文件服务器丢弃接收到的静态数据。
同样地,对于数据库服务器来说,假设网站管理人员向发布服务器发送的网页数据更新请求中包含用于更新动态数据的SQL,例如网站管理人员基于SQL需要发布标题为[title],正文内容是[content]的文章。则网站管理人员向发布服务器发送的网页数据更新请求中包含[title]、[content]。发布服务器在接收到包含[title]、[content]的网页数据更新请求后,做出发布响应,通知网站管理人员提供用户标识。网站管理人员输入提供用户标识。发布服务器生成随机码表Code,并使用生成的随机码表Code对SQL中的各字段的数值[title]、[content]进行编码得到enc-Data。以及基于非对称加密的方式,将接收到的用户标识与随机生成的随机码表Code,一起用私钥加密到enc-Data中。发布服务器将用户标识和用私钥加密后得到的编码enc-Data发送给数据库服务器。数据库服务器接收到发布服务器发来的用户标识和用私钥加密后得到的编码enc-Data之后,基于接收到的用户标识,获得公钥,基于获得的公钥对接收到的用私钥加密后得到的编码enc-Data进行解析,得到用私钥加密后得到的编码enc-Data中包含的用户标识和使用生成的随机码表Code对SQL各字段的数值[title]、[content]编码得到的enc-Data,为便于区分,将解析后得到的enc-Data采用Dec-Code来表示。将得到的Dec-Code基于码表处理后得到用户标识,数据库服务器将接收到的用户标识和解析得到的用户标识进行比对,如果一致,确定验证通过,数据库服务器将嵌入数字签名的SQL还原为[title]、[content]存储。
上述步骤31~步骤40,以及图3中提出的防止网页被篡改的方法,仅是本发明提出的一种较佳地实施方式,具体实施时,可以根据上述步骤和图3中所示的方法流程进行变型处理,即终端用户可以仅针对静态数据进行更新,也可以仅针对动态数据进行更新,还可以同时对静态数据和动态数据进行更新。
相比现有技术,本发明实施例这里提出的技术方案中,后续在向终端用户推送网页数据时,网页数据的所有内容均是在文件服务器和数据库服务器中获得的,并且在文件服务器和数据库服务器中存储的网页数据均通过签名验证给后存储的,因此能够有效地防止不法分子对网页的篡改。
相应地,本发明实施例这里还提出一种防止网页被篡改的装置,该装置可以作为一个独立的网元设备设置在网络系统中,也可以作为一个模块,集成在网络系统中的发布服务器中,或者集成在Web服务器中,如图4所示,其结构组成如下述:
接收模块401,用于接收终端用户发来的网页数据更新请求。
执行模块402,用于在所述网页数据更新请求是请求对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器,其中所述文件服务器在确定出所述签名为有效签名时,存储所述更新的静态数据,和/或在所述网页数据更新请求是请求对动态数据进行更新时,通过密钥对用于更新动态数据的结构化查询语言SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器,其中所述数据库服务器在确定出SQL中各字段的数值值的签名均为有效签名时,执行所述SQL进行动态数据的更新。
其中,密钥包含终端用户的用户标识,所述签名包含数字签名;
上述执行模块402,具体用于通过用户标识,在更新的静态数据指定字段中进行数字签名;以及通过用户标识,对获得的用于更新动态数据的SQL中各字段的数值进行数字签名。
其中,密钥包含终端用户的用户标识,所述签名包含编码。
上述执行模块402,具体用于根据随机生成的码表对更新的静态数据进行处理后得到编码;通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到处理后得到的编码中,发送所述用户标识和得到进行签名后的更新的静态数据;以及根据随机生成的码表对获得的用于更新动态数据的SQL中各字段的数值进行处理后得到编码;通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到对SQL中各字段的数值处理后得到的编码中,发送所述用户标识和得到的签名后的用于更新动态数据的SQL中各字段的数值。
在现有技术中,不法分子就是通过更改文件服务器中存储的静态数据和/或数据库服务器中存储的动态数据来对网页数据进行篡改的。而本发明实施例上述提出的技术方案中,通过对待存储的静态数据,增加签名,以及通过对待执行的SQL各字段的数值增加签名,后续在文件服务器存储静态数据值,会对签名进行验证,验证通过采存储该静态数据,同样,数据库服务器在执行SQL进行数据的更新时,也会对SQL各字段的数值增加的签名进行验证,在确定出SQL中各字段的数值的签名均为有效签名时,执行所述SQL进行动态数据的更新。对于网络系统中存储静态数据的文件服务器来说,通过上述技术方案,文件服务器在存储静态数据之前,需要校验待存储的静态数据的签名,所以即使攻击者获得了文件服务器的相关权限,也会因为无法构造出包含正确签名的文静态数据而不能更新网页数据。对于存储动态数据的数据库服务器来说,数据库服务器在执行更新操作前校验SQL各字段的数值的签名,所以即使存在可被利用的SQL注入漏洞,也会因为无法构造出包含正确签名的数据而不能修改数据库服务器中存储的动态数据。从而防止了网页被恶意篡改,提高了网页数据的安全性。对于所有对网页数据的改动,都能够在网页数据发布前进行认证,从源头保证了网页数据的安全,并且,对于实时发布的动态网页数据,也可以在验证通过后再进行存储,然后再发布,能够有效地对网页数据进行认证,提高网页数据的安全性。并且后续在向用户推送网页数据时,网页数据的所有内容均是在文件服务器和数据库服务器中获得的,并且在文件服务器和数据库服务器中存储的信息均通过签名验证后存储的,因此能够有效地防止不法分子对网页的篡改。
本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种防止网页被篡改的方法,其特征在于,包括:
接收终端用户发来的网页数据更新请求;
在所述网页数据更新请求是请求对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器,其中所述文件服务器在确定出所述签名为有效签名时,存储所述更新的静态数据;和/或
在所述网页数据更新请求是请求对动态数据进行更新时,通过密钥对用于更新动态数据的结构化查询语言SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器,其中所述数据库服务器在确定出SQL中各字段的数值的签名均为有效签名时,执行所述SQL进行动态数据的更新。
2.如权利要求1所述的方法,其特征在于,所述密钥包含终端用户的用户标识,所述签名包含数字签名;
通过密钥对更新的静态数据进行签名,包括:
通过用户标识,在更新的静态数据指定字段中进行数字签名;
通过密钥对用于更新动态数据的SQL中各字段的数值进行签名,包括:
通过用户标识,对获得的用于更新动态数据的SQL中各字段的数值进行数字签名。
3.如权利要求1所述的方法,其特征在于,所述密钥包含终端用户的用户标识,所述签名包含编码;
通过密钥对更新的静态数据进行签名,包括:
根据随机生成的码表对更新的静态数据进行处理后得到编码;
通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到处理后得到的编码中,发送所述用户标识和得到进行签名后的更新的静态数据;
通过密钥对用于更新动态数据的SQL中各字段的数值进行签名,包括:
根据随机生成的码表对获得的用于更新动态数据的SQL中各字段的数值进行处理后得到编码;
通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到对SQL中各字段的数值处理后得到的编码中,发送所述用户标识和得到的签名后的用于更新动态数据的SQL中各字段的数值。
4.一种防止网页被篡改的系统,其特征在于,包括至少一个发布服务器或网页Web服务器,至少一个文件服务器和至少一个数据库服务器,其中:
所述发布服务器或Web服务器,用于接收终端用户发来的网页数据更新请求,在所述网页数据更新请求是请求对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器,和/或在所述网页数据更新请求是请求对动态数据进行更新时,通过密钥对用于更新动态数据的结构化查询语言SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器;
所述文件服务器,用于在确定出接收到的更新的静态数据中包含的所述签名为有效签名时,存储所述更新的静态数据;
所述数据库服务器,用于在确定出SQL中各字段的数值的签名均为有效签名时,执行所述SQL进行动态数据的更新。
5.如权利要求4所述的系统,其特征在于,所述密钥包含终端用户的用户标识,所述签名包含编码;
所述发布服务器或Web服务器,具体用于根据随机生成的码表对更新的静态数据进行处理后得到编码,通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到处理后得到的编码中,发送所述用户标识和得到进行签名后的更新的静态数据给文件服务器;以及根据随机生成的码表对获得的用于更新动态数据的SQL中各字段的数值进行处理后得到编码,通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到对SQL中各字段的数值处理后得到的编码中,发送所述用户标识和得到的签名后的用于更新动态数据的SQL中各字段的数值给数据库服务器;
所述文件服务器,具体用于基于接收到的用户标识确定非对称加密方式中的公钥,通过公钥进行解密,获得随机生成的码表和所述用户标识加密到处理后得到的编码,将通过公钥得到的用户标识与接收到的用户标识进行比对,如果一致,存储所述更新后的静态数据;
所述数据库服务器,具体用于基于接收到的用户标识确定非对称加密方式中的公钥,通过公钥进行解密,将随机生成的码表和所述用户标识加密到对SQL中各字段的数值处理后得到的编码中的用户标识,将通过公钥得到的用户标识与接收到的用户标识进行比对,如果一致,执行所述SQL来更新动态数据。
6.如权利要求5所述的系统,其特征在于,所述文件服务器,具体用于在通过公钥得到的用户标识与接收到的用户标识比对结果一致时,基于获得的码表对更新的静态数据进行处理,存储处理后的静态数据;
所述数据库服务器,具体用于在通过公钥得到的用户标识与接收到的用户标识比对结果一致时,基于获得的码表对用于更新动态数据的SQL中各字段的数值进行处理,执行所述处理后得到的SQL更新动态数据。
7.一种防止网页被篡改的装置,其特征在于,包括:
接收模块,用于接收终端用户发来的网页数据更新请求;
执行模块,用于在所述网页数据更新请求是请求对静态数据进行更新时,通过密钥对更新的静态数据进行签名后,发送给网络系统中的文件服务器,其中所述文件服务器在确定出所述签名为有效签名时,存储所述更新的静态数据,和/或在所述网页数据更新请求是请求对动态数据进行更新时,通过密钥对用于更新动态数据的结构化查询语言SQL中各字段的数值进行签名后,发送给网络系统中的数据库服务器,其中所述数据库服务器在确定出SQL中各字段的数值的签名均为有效签名时,执行所述SQL进行动态数据的更新。
8.如权利要求7所述的装置,其特征在于,所述密钥包含终端用户的用户标识,所述签名包含数字签名;
所述执行模块,具体用于通过用户标识,在更新的静态数据指定字段中进行数字签名;以及通过用户标识,对获得的用于更新动态数据的SQL中各字段的数值进行数字签名。
9.如权利要求7所述的装置,其特征在于,所述密钥包含终端用户的用户标识,所述签名包含编码;
所述执行模块,具体用于根据随机生成的码表对更新的静态数据进行处理后得到编码;通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到处理后得到的编码中,发送所述用户标识和得到进行签名后的更新的静态数据;以及根据随机生成的码表对获得的用于更新动态数据的SQL中各字段的数值进行处理后得到编码;通过非对称加密方式中的私钥,将随机生成的码表和所述用户标识加密到对SQL中各字段的数值处理后得到的编码中,发送所述用户标识和得到的签名后的用于更新动态数据的SQL中各字段的数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310247171.XA CN103310160B (zh) | 2013-06-20 | 2013-06-20 | 一种防止网页被篡改的方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310247171.XA CN103310160B (zh) | 2013-06-20 | 2013-06-20 | 一种防止网页被篡改的方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103310160A true CN103310160A (zh) | 2013-09-18 |
CN103310160B CN103310160B (zh) | 2016-08-10 |
Family
ID=49135365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310247171.XA Active CN103310160B (zh) | 2013-06-20 | 2013-06-20 | 一种防止网页被篡改的方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103310160B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317903A (zh) * | 2014-10-24 | 2015-01-28 | 北京奇虎科技有限公司 | 章节式文本的章节完整性的识别方法和装置 |
CN104821949A (zh) * | 2015-05-08 | 2015-08-05 | 杭州平民软件有限公司 | 基于签名的sql防篡改保护方法 |
CN106649395A (zh) * | 2015-11-03 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 网页更新方法和装置 |
CN106886530A (zh) * | 2015-12-16 | 2017-06-23 | 天脉聚源(北京)科技有限公司 | 一种动态数据分别编辑更新方法及系统 |
CN107222494A (zh) * | 2017-06-28 | 2017-09-29 | 上海红阵信息科技有限公司 | 一种sql注入攻击防御组件及方法 |
CN107995148A (zh) * | 2016-10-27 | 2018-05-04 | 中国电信股份有限公司 | 文件防篡改的方法、系统、终端和可信云平台 |
CN108696519A (zh) * | 2018-05-10 | 2018-10-23 | 深圳市联软科技股份有限公司 | 一种基于共享存储的网页防篡改系统及方法 |
CN110084051A (zh) * | 2019-04-29 | 2019-08-02 | 京工博创(北京)科技有限公司 | 一种数据加密方法和系统 |
CN111178010A (zh) * | 2019-12-20 | 2020-05-19 | 国久大数据有限公司 | 显示数字签名的方法及系统、数据编辑方法及终端 |
CN113726518A (zh) * | 2016-11-24 | 2021-11-30 | 创新先进技术有限公司 | 在网络中发布作品的方法和装置 |
CN114978710A (zh) * | 2022-05-25 | 2022-08-30 | 中国农业银行股份有限公司 | 网页数据的防篡改处理方法、装置及电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549930A (zh) * | 2016-08-17 | 2017-03-29 | 北京安天电子设备有限公司 | 一种抵抗sql注入攻击的方法及系统 |
TWI632799B (zh) * | 2016-11-16 | 2018-08-11 | 黃冠寰 | An accountable handshake data transfer protocol |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003248A1 (en) * | 2002-06-26 | 2004-01-01 | Microsoft Corporation | Protection of web pages using digital signatures |
CN102110198A (zh) * | 2009-12-28 | 2011-06-29 | 北京安码科技有限公司 | 一种网页防伪的方法 |
CN102111267A (zh) * | 2009-12-28 | 2011-06-29 | 北京安码科技有限公司 | 一种基于数字签名的网站安全保护方法及系统 |
CN102355459A (zh) * | 2011-09-27 | 2012-02-15 | 北京交通大学 | 基于TPM的可信Web网页的实现方法 |
-
2013
- 2013-06-20 CN CN201310247171.XA patent/CN103310160B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003248A1 (en) * | 2002-06-26 | 2004-01-01 | Microsoft Corporation | Protection of web pages using digital signatures |
CN102110198A (zh) * | 2009-12-28 | 2011-06-29 | 北京安码科技有限公司 | 一种网页防伪的方法 |
CN102111267A (zh) * | 2009-12-28 | 2011-06-29 | 北京安码科技有限公司 | 一种基于数字签名的网站安全保护方法及系统 |
CN102355459A (zh) * | 2011-09-27 | 2012-02-15 | 北京交通大学 | 基于TPM的可信Web网页的实现方法 |
Non-Patent Citations (1)
Title |
---|
姚滢: "网页防篡改系统的研究与设计方案", 《计算机安全》, no. 06, 30 June 2010 (2010-06-30) * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317903B (zh) * | 2014-10-24 | 2017-10-13 | 北京奇虎科技有限公司 | 章节式文本的章节完整性的识别方法和装置 |
CN104317903A (zh) * | 2014-10-24 | 2015-01-28 | 北京奇虎科技有限公司 | 章节式文本的章节完整性的识别方法和装置 |
CN104821949A (zh) * | 2015-05-08 | 2015-08-05 | 杭州平民软件有限公司 | 基于签名的sql防篡改保护方法 |
CN104821949B (zh) * | 2015-05-08 | 2018-01-26 | 杭州平民软件有限公司 | 基于签名的sql防篡改保护方法 |
CN106649395A (zh) * | 2015-11-03 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 网页更新方法和装置 |
CN106886530A (zh) * | 2015-12-16 | 2017-06-23 | 天脉聚源(北京)科技有限公司 | 一种动态数据分别编辑更新方法及系统 |
CN107995148B (zh) * | 2016-10-27 | 2020-09-18 | 中国电信股份有限公司 | 文件防篡改的方法、系统、终端和可信云平台 |
CN107995148A (zh) * | 2016-10-27 | 2018-05-04 | 中国电信股份有限公司 | 文件防篡改的方法、系统、终端和可信云平台 |
CN113726518A (zh) * | 2016-11-24 | 2021-11-30 | 创新先进技术有限公司 | 在网络中发布作品的方法和装置 |
CN107222494A (zh) * | 2017-06-28 | 2017-09-29 | 上海红阵信息科技有限公司 | 一种sql注入攻击防御组件及方法 |
CN108696519A (zh) * | 2018-05-10 | 2018-10-23 | 深圳市联软科技股份有限公司 | 一种基于共享存储的网页防篡改系统及方法 |
CN108696519B (zh) * | 2018-05-10 | 2021-08-17 | 深圳市联软科技股份有限公司 | 一种基于共享存储的网页防篡改系统及方法 |
CN110084051A (zh) * | 2019-04-29 | 2019-08-02 | 京工博创(北京)科技有限公司 | 一种数据加密方法和系统 |
CN111178010A (zh) * | 2019-12-20 | 2020-05-19 | 国久大数据有限公司 | 显示数字签名的方法及系统、数据编辑方法及终端 |
CN111178010B (zh) * | 2019-12-20 | 2024-02-09 | 国久大数据有限公司 | 显示数字签名的方法及系统、数据编辑方法及终端 |
CN114978710A (zh) * | 2022-05-25 | 2022-08-30 | 中国农业银行股份有限公司 | 网页数据的防篡改处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103310160B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103310160A (zh) | 一种防止网页被篡改的方法、系统及装置 | |
JP6896942B2 (ja) | ブロックチェーンベースのトランザクション処理方法および装置、ならびに電子デバイス | |
US11849023B2 (en) | Verifiable redactable audit log | |
US10958436B2 (en) | Methods contract generator and validation server for access control of contract data in a distributed system with distributed consensus | |
US10602202B1 (en) | System and techniques for digital data lineage verification | |
US11258612B2 (en) | Method, apparatus, and electronic device for blockchain-based recordkeeping | |
CN111177252B (zh) | 一种业务数据的处理方法及装置 | |
RU2730899C1 (ru) | Отслеживание объектов между различными сторонами | |
CN111066019A (zh) | 处理存储在区块链网络中的数据元素 | |
CN104065481A (zh) | 具有隐私保护的凭证产生及撤销的方法及装置 | |
CN110908786A (zh) | 一种智能合约调用方法、装置及介质 | |
CN111709860A (zh) | 遗嘱处理方法、装置、设备及存储介质 | |
CN104346550A (zh) | 一种信息处理方法以及一种电子设备 | |
CN110889146B (zh) | 一种电子签章的方法、装置及存储介质 | |
CN114143029A (zh) | 一种可重复生成的用户个人账号密码生成系统及方法 | |
CN111198862A (zh) | 一种基于区块链的文件存储方法、装置、终端设备和介质 | |
CN113112354A (zh) | 一种区块链网络的交易处理方法、区块链网络及存储介质 | |
CN110855753A (zh) | 银行运营系统、方法及服务器 | |
CN102495811B (zh) | 一种许可证生成及验证方法和一种存储设备 | |
CN110557401B (zh) | 基于区块链的品牌事务处理方法、装置、设备和介质 | |
CN112511510B (zh) | 一种授权认证方法、系统、电子设备及可读存储介质 | |
CN117521040A (zh) | 业务数据调用方法、装置、计算机设备和存储介质 | |
CN117201048A (zh) | 基于区块链的数据授权方法、装置、设备以及介质 | |
CN114547693A (zh) | 环境数据的存储方法、装置、终端设备及存储介质 | |
CN111209589A (zh) | 一种基于区域链的数据动态脱敏的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building Patentee after: NSFOCUS Technologies Group Co.,Ltd. Patentee after: NSFOCUS TECHNOLOGIES Inc. Address before: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building Patentee before: NSFOCUS INFORMATION TECHNOLOGY Co.,Ltd. Patentee before: NSFOCUS TECHNOLOGIES Inc. |
|
CP01 | Change in the name or title of a patent holder |