【编者按】:档案学就是探索档案、档案工作和档案事业的发展规律,研究档案信息资源的管理、开发的理论、原则与方法的学科。精品学习网档案学栏目为您提供档案学范文参考,以及档案学写作指导和格式排版要求,解决您在写作中的难题。
浅谈基于数字摘要的高招数据库防篡改技术的研究与实现
作者:仲福建 何远德 陈琳琳
当前各高校都加强了网络的宣传,招生、录取等都在网上进行。这在方便了管理和提高效率的同时,也给一部分违法分子以可乘之机,目前少数不法分子在高考招生结束后,利用伪造虚假网页进行诈骗,有的甚至利用黑客手段篡改高校网站考生录取记录,从事诈骗活动。如黑客篡改中国地质大学(武汉)和中南财经政法大学招生信息①,篡改海南大学招生信息②等案,给社会造成了恶劣影响,严重影响了社会的和谐和安宁。目前很多对外信息发布系统有防火墙、杀毒软件、网页防篡改系统等防护措施,但基于数据库的保护相对较少。本文提出了一种基于数字摘要的高校招生查询数据库的防篡改机制。
一、数字摘要算法及其应用
从 Rivest 1989年开发出MD2算法开始就揭开了人们对加密算法的新一轮研究,进而推出了MD3、MD4算法 。为了加强算法的安全性,满足信息发展对网络安全的要求,研究出了趋近成熟的MD5算法。MD5的全称是Message-Digest Algorithm 5(信息-摘要算法5)③,在20世纪90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L.Rivest开发,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器进行的设计优化,而MD4和MD5却是面向32位的电脑。
MD5的典型应用是对一段信息(Message)产生信息摘要(Message Digest),以防止被篡改。比如在UNIX下有很多软件在下载的时候都有一个文件名相同、文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如MD5(test)= 0ca175b9c0f726a831d895e269332461,这就是test文件的数字签名,test的文本内容为“tom123456”。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个惟一的MD5信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了什么形式的改变(包括人为修改或者下载过程中线路不稳定引起的传输错误等),只要你对这个文件重新计算MD5时就会发现信息摘要不相同,由此可以确定你得到的是一个不正确的文件。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5还广泛用于加密和解密技术。例如Cisco的Enable的密码和UNIX、LINUX系统中用户的密码都是以MD5经加密后存储在文件系统中的。当用户登录的时候,系统把用户输入的密码计算成MD5值,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码明码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具有系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度④。
二、 数据库防篡改设计原理
监控数据库是否被非法修改是这个数据库平台的关键点。最简单可靠的方法就是先将数据库备份,通过逐行比较数据库记录字段值来判断数据库是否被修改,但是此种方法需要逐行比较,既耗时也耗费空间,可行性差。因此对数据库记录的鉴别必须是保障不可伪造,并且能实时发现数据库的异常,及时告警,及时恢复,不给犯罪分子可乘之机。
招生查询数据库数据一旦导入后,再次修改的几率很小,大部分是用来查询的。保证数据的不可修改和伪造,单向散列函数可以实现此功能,可以使用MD5 、SHA-1等算法,只要数据被修改,数字摘要信息就会出现前后不一致,达到鉴别功能的实现。SHA-1提高了强度,增加了安全性,但是该算法计算度增加,效率有所降低。在保证高效的前提下,本文拟采用MD5算法进行数字摘要,对数据进行鉴别。