本发明属于计算机网络安全技术领域,具体一种网页篡改检测方法。
背景技术:
随着互联网和网络应用的普及与发展,大量的黑客攻击随之而来,特别是针对互联网的网络攻击。其中,篡改网页文件是黑客攻击的普遍手法。网页篡改攻击事件往往预先检查和实时防范较难,由于网络环境复杂而难以追查责任,攻击工具简单且向智能化发展。目前虽然有防火墙、入侵检测系统等安全设备作为安全防范手段,但web应用攻击有别于其他攻击方式,很难被传统的安全设备所检测到,可以轻松突破防火墙和入侵检测系统的保护。单纯依靠防火墙和入侵检测系统等传统的网络安全设备无法有效防范网页篡改攻击,为此,网页防篡改技术成为安全领域研究的焦点之一。
现有的网页防篡改技术一般采用核心内嵌技术。所述核心内嵌技术,也称数字水印或数字指纹技术,即对每一个流出的网页进行数字水印检查,如果发现网页数字水与之前备份的不同,则可断定该网页被篡改,阻止篡改后的网页流出。通过web服务器核心内嵌技术,使用密码算法,为每个需要保护的对象(静态网页、执行脚本、二进制文件)计算出具有唯一性的数字水印。公众每次访问网页时,都将网页内容与数字水印进行对比计算;一旦发现网页被非法修改,则立即进行自动恢复,从而保证非法网页内容不被公众浏览。此技术需要对每台服务器安装插件,占用服务器资源;对于诸如idc机房,存在大量中小服务器群的环境安装和维护均受到不同程度的限制,安装和维护复杂度大,甚至还存在部分托管服务器不允许安装插件的情况。
技术实现要素:
本技术:
的主要目的在于提供一种网页篡改检测方法,以解决现有技术存在的无法检测出用户利用与自己相关的其他用户的身份信息设置的密码的问题,其中:
一种网页篡改检测方法,所述方法包括:
水印的生成与嵌入,具体包括:
s1:计算水印容量,根据信息隐藏算法,对待防护网页f进行最大信息隐藏量计算,得到十进制的水印容量c1;
s2:对待防护网页a进行初始化,对待防护网页a利用密钥k1将网页a中的集合t中的属性进行重新排序,生成新的网页文件f1;
s3:利用md5函数生成网页文件f1的md5值m1;
s4:根据水印容量c1和密钥k2对m1进行加密处理,生成水印w1;
s5:嵌入水印,结合密钥k1,运用基于等价标签的信息隐藏方法将水印w1嵌入到网页文件f1中,生成含水印网页f2;
还包括水印的提取和检测,具体包括:
a:重复所述步骤s1、s2、s3和s4,生成水印w2;
b:结合密钥k1,运用生成水印算法步骤s5的逆过程将网页f2中的水印w3提取出来;
c:将w2与w3进行比较,如果相同,则网页未被篡改,否则,网页被篡改。
与现有技术相比,本发明提供的通过水印检测判断网页是否被篡改的方法,基于等价标签的网页信息隐藏方法,利用html源码中,等价标签之间的标记效果一致这一特性来嵌入信息,不会影响网页的浏览效果,也不会对网页的大小产生丝毫的影响,判断结果更加准确。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1是本申请方法的流程图。
具体实施方式
为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
一种网页篡改检测方法,如图1,包括以下步骤:
水印的生成与嵌入,具体包括:
s1:计算水印容量,设{t|t1,...,ti}为网页f中所有属性个数大于等于2的标签集合,即可嵌入水印的标签集合,根据信息隐藏算法,对待防护网页f进行最大信息隐藏量计算,得到十进制的水印容量c1,如式(1)所示:
c1=π(|tj|!)(1)
s2:对待防护网页a进行初始化,因为嵌入水印后网页必被改变,其md5值也会发生变化,虽有在嵌入水印前要进行初始化,对待防护网页a利用密钥k1将网页a中的集合t中的属性进行重新排序,生成新的网页文件f1;
s3:利用md5函数生成网页文件f1的md5值m1;
s4:生成水印,根据水印容量c1和密钥k2对m1进行加密处理,生成水印w1,使其小于c1;
s5:嵌入水印,结合密钥k1,运用基于等价标签的信息隐藏方法将水印w1嵌入到网页文件f1中,生成含水印网页f2;
水印的提取和检测,具体包括:
a:重复所述步骤s1、s2、s3和s4,生成水印w2;
b:结合密钥k1,运用生成水印算法步骤s5的逆过程将网页f2中的水印w3提取出来;
c:将w2与w3进行比较,如果相同,则网页未被篡改,否则,网页被篡改。
本发明提供的通过水印检测判断网页是否被篡改的方法,基于等价标签的网页信息隐藏方法,利用html源码中,等价标签之间的标记效果一致这一特性来嵌入信息,不会影响网页的浏览效果,也不会对网页的大小产生丝毫的影响,判断结果更加准确。