随着高校数字化校园进程的推进,校园网也是部署各类应用系统的基础平台,无论是校园内网还是Web服务器,网络的安全时刻受到威胁。比如网络钓鱼、SQl注入及主页篡改等黑客常见攻击,为此,校园网的后台登陆安全是一个十分严峻的问题,结合学院网站建设实际,反复测试,我们总结出了一种伪32位的MD5加密算法,对登陆的用户名和密码进行有效加密防御,在很大程度上解决了从网站后台登陆进行Sql注入的可能。
一、MD5加密算法简介
MD5即Message-DigestAlgorithm5(信息——摘要算法5),是一种用于产生数字签名的单项散列加密算法,在1991年由MITLaboratoryforComputerSci2ence(IT计算机科学实验室)和RSADataSecurityInc(RSA数据安全公司)的RonaldL.Rivest教授开发出来,经由MD2、MD3和MD4发展而来。MD5加密算法的使用不需要支付任何版权费用。它的作用是让大容量信息在用数字签名软件签私人密匙前被“压缩”成一种保密的格式(将一个任意长度的“字节串”通过一个不可逆的字符串变换算法变换成一个128bit的大整数,换句话说就是,即使你看到源程序和加密算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数)。
MD5广泛用于加密和解密技术上。例如在UNIX系统中用户的密码就是以MD5(或其它类似算法)经加密后存储在文件系统中。当用户登录时,系统把用户输入的密码计算成MD5值,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。
二、伪32位MD5加密算法设计
MD5加密算法设计原理是将两个16位的真实MD5码值,通过握手方法组合起来形成新的32位的密文,加密过程如图1所示。
其中Zlm()表示加密方法,其功能就是将制作者的握手方法实现,从而实现数据文件加密。这种加密算法实现了同一个密码,随机生成不同密文的过程。举例说明:假如密码明文为“admin”,两次点击鼠标产生的密文却相差甚远。这个过程在VisualBasic6.0下测试运行,如图2所示。
从图1中不难看出此算法核心是握手方法,即如何将真的16位密文和随机生成的16位密文组合,形成伪32位密文。而握手方法的制定就是开发者自己,所以从很大程度上提高了算法的想象空间和灵活性。
其解密算法Zlj(),当然是逆运算过程,如图3所示。对方只要知道握手原理(即加密算法)即可实现。而对于不明白握手方法的入侵者来说,按照32位MD5的破解程序运行的结果也就是伪明文了。
最后这两个方法Zlm()和Zlj()在VB环境下利用ActiveXDll技术进行封装,编译成为通用组件MD32.dll,使加密算法源码得到了保护,结合握手方法,安全性得到了最大保障。
三、伪32位MD5加密算法测试
1、 应用测试
每一个应用系统都有密码修改模块,在校园网站后台进行登陆测试成功后,我们对密码修改模块做了重点测试,流程如图4所示。
应用表明,该伪码加密算法的通用组件MD32.dll,调用方便,功能强大,代码的执行效率高,安全性好,无论是源代码反查还是反编译DLL文件均无法破解我们的握手原理。
附密码修改源码如下:
<%d
imM
setM=server.CreateObject("MD32.MD5")’建立MD32对象
iftrim(request("newpwd"))<>""then
ifsession("isadmin")="1"then
sql="select3fromtbadminwhereadminid="&request.cookies("adminid")
else
sql="select3fromtbuserwhereuserid="&request.cookies("userid")
endif
setrs=server.createobject("adodb.recordset")rs.opensql,conn,3,2
ifM.zlj(rs("pwd"))<>M.MD5(trim(request("oldpwd")))then解密后的密文和加密的MD5密文比较
response.redirect"editpwd.asp?error=wrong"
else
rs("pwd")=M.zlm(M.MD5(trim(request("newpwd"))))’32位伪码生成
rs.update
response.redirect"editpwd.asp?error=ok"
endif
endif
%>
2、破解测试
目前通用的MD5在线查询和破解的网站很多。这些网站都可以在线查询和解密MD5加密算法。
下面我们就拿admin做测试用例,admin的32位MD5密文是21232f297a57a5a743894a0e4a801fc3,利用伪码算法随即产生一个伪32位的MD5密文,677ad5273a75bae744d3a83904aac0ee。将其破解结果如图5和图6所示。
从结果看出,由于采用了伪码加密算法,很多常规破解的网站,在线破解的结果基本都是“NotFound”,短时间内猜不出加密明文。真正意义上实现了对数据库数据的保护。另外,伪码加密算法的思想为我们今后的安全设计提供了一种解决方案。
小知识之伪码
伪码即PDL,这是一个笼统的名称,它是用正文形式表示数据和处理过程的设计工具。
局域网监控软件可以监控外网吗?一文解析
如今,随着数字办公的日益普及,局域网监控软件已经成为企业网络管理不可或缺的一部分。然而,局域网监控软件能否监控外网一直困扰着许多企业网络工程师。本文将深入探讨这一问题,分析局域网监控软件在外网监控中能力与局限性。一、局域网监控软件的主要功能局域网监控软件是一种基于桌面管理软件和监控系统的综合监控工具。它通常具有以下基本...
安企神网络安全准入系统
安企神软件网络安全准入系统是一种高效、灵活、易于管理的网络密钥管理解决方案,旨在为公司网络环境提供全面的安全保障。通过身份认证、健康体检和安全设置评定,此系统保证只有授权的设备与用户才能浏览公司的内部网络资源,进而最大限度地降低安全隐患。一、网络安全准入系统主要功能1、用户身份认证安企神网络准入系统选用严格的身份认证机...
网络准入设备:守护企业数字资产的第一道防线
在数字时代,公司网络如同公司的神经系统,连接着每个业务单元,背负着数据的流动与价值的转换。但是,随着网络环境的日益繁杂,网络威协也非常大。怎样确保公司网络的安全平稳已成为每家企业必须面对的挑战。做为这条防线的门将,网络准入设备发挥了越来越重要的作用。一、什么叫网络准入设备?网络准入设备是一种专门给控制和管理网络设备访问...
企业数据防泄密软件有哪些?企业数据防泄密软件大盘点
在当今数字时代,公司数据的安全至关重要。为了保护公司的核心资产和客户资料免遭威胁,很多企业都在寻找高效的数据防泄密软件。今天我们就来盘点一下市场上广受好评的几款公司数据防泄密软件,帮助大家更好的了解和选择适合自己公司的防泄漏解决方案。一、安企神软件安企神软件集数据加密、密钥管理、行为审计等多种功能于一体,为用户提供全方...
揭秘数据加密系统的加密过程
在数字时代,数据安全已是企业和个人不可忽视一个重要难题。数据加密系统做为数据安全重要防御,在加密过程中非常重要。本文将详尽揭露数据加密的全面加密过程,以帮助您更好的了解这一关键要素。一、数据加密系统的前提数据加密系统通常包括三个核心部分:加密算法、密钥管理与信息加密破译过程。加密算法是数据加密的关键,它决定了如何把明文...