首页 > 范文大全 > 正文

基于MD5算法的网页保护系统设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于MD5算法的网页保护系统设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:该文采用MD5算法,设计了一种网页保护系统,能够有效对网页脚本文件和数据库进行监控,对篡改进行及时恢复。

关键词:MD5算法;消息摘要;网页保护

中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)19-5209-02

Design and Implementation of Web Page Protection System Based on MD5

YANG Guang

(School of Computer Science and Technology, CUMT, Xuzhou 221008, Chian)

Abstract: In this paper, MD5 algorithm is adopted to design a web page protection system. This system is proved effective on the monitoring of web page script file and database ,and it can timely restore the modification.

Key words: MD5 algorithm; message digest; web protection

随着网络的普及和信息化进程的加快,网络安全问题也随之增加,尤其是网页篡改事件发生数量急速增长。一旦网页被破坏且不能及时恢复,往往会给网站的所有者乃至整个社会带来不同程度的损害和负面影响。网页保护系统就是希望通过监控技术及时块数的对被篡改的文件做出响应,并通过恢复功能自动对网页进行修复,为网站内容的安全提供一个有效的保护工具。

本文设计了的网页保护系统采用的是MD5消息摘要技术,为网站的所有网页对象(包括静态网页、动态脚本、图像文件、多媒体文件以及所有能以URL形式访问的实体)计算出唯一的消息摘要。采用定时轮询的方法,每间隔一段时间,就将网页文件的消息摘要与备份进行对比,一旦发现网页被非法修改,即进行自动恢复。

1 MD5算法原理

MD5是由Ron Rivest 设计的单向散列函数。MD表示消息摘要(message digest),对于输入的任意长度消息,算法产生128位的散列值(或消息摘要)。由于MD5算法的散列值计算的快速性和很高的安全强度,使它成为目前比较流行的散列算法。MD5算法以任意长度的信息作为输入,其处理操作包括以下几个步骤:

1) 消息填充:对输入信息进行填充使信息的长度(比特数)448模512同余(长度=448mod512),填充的最高位为1,其余位为0。

2) 添加消息长度:将用64位表示的初始信息(填充前)的位长度附加在步骤I的结果后(低位字节优先)。如果初始长度大于64,仅使用该长度的低64位。这样,该域所包含的长度值为初始信息长度模64的值。

前两步的结果将产生一个长度为512整数倍比特的信息。经扩展的信息表示成512bit的分组序列Y0,Y1,…,YL-1,扩展信息的长度等于512*L。

3) 初始化MD5的缓存:使用一个128bit的缓存来存放该散列算法的中间及最终结果。该缓存表示为4个32bit的寄存器(A,B,C,D),这些寄存器被初始化为如下32bit长的整数:A=67452301;B=EFCDAB84;C=48BADCFE;D=10325476。这些值以小数在前的格式存储,即字的低位字节放在低地址字节上。

4) 以分组为单位进行消息处理:算法的核心是包含4个“循环”的压缩函数。4个循环有相似的结构,但每次循环使用不同的原始逻辑函数,在说明中分别表示为F、G、H和I。每一循环都以当前的I在处理的512bit分组(Yq)和128bit的缓存值ABCD为输入,然后更新缓存的内容。每个循环还使用一个64元素表T[0…64]的四分之一,该表通过正弦函数构建。T的第i个元素(表示为T[i])的值等于232*abs(sin(i))的整数部分值,其中 的单位是弧度。因为abs(sin(i))是0到1之间的数,因此每个T的元素值均能用32bit表示。这个表提供了一个“随机化”的32bit模式集,它将消除输入数据的任何规律性。第四次循环的输出加到第一次循环的输入(CVq)上产生CVq+1。

5) 输出:所有L个512bit的分组处理完成后,最后一个输出即为产生的消息摘要。

2 系统的总体设计

网页保护系统主要包括网页脚本文件的保护和数据库保护,包括以下几个功能模块:文件监控模块、文件备份模块、网页恢复模块、数据库监控和恢复模块、日志监视模块、警报模块。

2.1 网页脚本文件的保护

对网页脚本文件的保护采用备份恢复的方法。由备份端对所有的网页脚本文件进行完整的备份。该系统通过对脚本文件消息摘要比较的方式来判断网页脚本文件的完整性。如果监控发现网页上的脚本文件被破坏或非法篡改,则立即通过备份进行恢复。

2.2 网页数据库的保护

用户通过浏览器得到的动态网页的内容是根据脚本及用户的输入来动态的从数据库中读取和写入内容的,因此需要针对动态数据库进行保护。对数据库的保护通过防止用户权限的非法提升来实现,系统为各个数据库用户分配安全的权限,然后对授权表进行备份。系统启动后对数据库的授权文件进行实时监控,若是用户的合法操作则允许通过,若是用户的非法操作则将数据库恢复到以前的状态,同时进行报警和日志记录。

2.3 文件监控流程

文件监控是本系统的核心,首先对所有的备份文件都进行MD5消息摘要计算,并把值保存到专有的数据库里。在监控时定时扫描计算网站上的当前文件的消息摘要,并与数据库里相应文件的消息摘要值进行比较,如果相同则进行下一个文件消息摘要值比较,否则启用恢复模块将其从备份服务器上恢复。如果扫描结果发现缺少文件则说明文件被删除,也应恢复;同样,被非法增加的文件应当及时删除。图1为文件监控流程图。

3 系统实现

本系统采用VC++6.0在windows XP下实现,经测试本系统能在较短的时间内监测出文件被篡改、增加和删除,并且能自动恢复。当越权对动态的数据库访问时,由触发器产生报警。能够根据用户的设置,对中小型网站进行有效的实时或定时保护。

4 结束语

本文实现了基于md5消息摘要的网页自动保护系统,并重点针对网站中至关重要的文件的保护进行的详细的说明。理论上来说,没有哪一种算法是绝对安全的,2004年就有国内学者证明,在短时间内可以找到一次MD5碰撞(不同的两份文件可以产生相同的散列值叫碰撞)。但是从技术角度上讲,MD5用于页面保护的完整性检测还是行之有效的;并且由于MD5算法本身的优势,针对文件的运算速度较快,对于一般网站的保护能够收到很好的效果。

参考文献:

[1] 林东岱,曹天杰.应用密码学[M].北京:科学出版社,2009.

[2] 高延玲,张玉清.网页保护系统综述[J].计算机工程,2004(5).

[3] 袁丹,张玉清.Linux平台下动态网页保护系统的设计与实现[J].计算机工程,2007(6).

[4] 张延兵.基于PKI技术的网页保护与修复[D].济南:山东大学,2009.