随着高校数字化校园进程的推进,校园网也是部署各类应用系统的基础平台,无论是校园内网还是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,这是一个笼统的名称,它是用正文形式表示数据和处理过程的设计工具。
实操指南:如何监控聊天中的敏感信息?这款秘籍软件,轻松掌握微信聊天动态
电影《摩登时代》里,流水线工人就连在吃饭时都要用“自动喂食机”提高效率,这样才能挤出更多时间投入工作。虽然现在打工人不至于此,但有些老板仍然放心不下……像企业聊天记录往往蕴含着大量的敏感信息。为了确保信息安全,监控聊天中的敏感信息成为了一项必要且重要的工作。以下是一款秘籍软件,帮助你轻松掌握微信聊天动态,确保信息安全。...
怎么监控员工上班情况?2024企业管理的四种方法,老板们不容错过
怎么监控员工上班情况?2024企业管理的四种方法,老板们不容错过员工上班在干什么?摸鱼?打游戏?老板该怎么管理?如何才能监视怎么监控员工上班情况?监控员工上班情况可以通过多种方式实现,但重要的是要确保这些措施既合法又合规,同时尊重员工的隐私权。以下是一些建议的方法:一、制定明确的行为规范与奖惩制度1、制定行为规范: 企...
怎么监控员工上班情况?快速监控员工状态
怎么监控员工上班情况?快速监控员工状态在企业管理中,如何有效监控员工上班情况,确保工作效率与团队协作,是每位老板都需面对的课题。本文为您揭秘五招快速监控员工状态的实用技巧,不仅能帮助您实时掌握员工动态,还能提升整体管理效率。作为老板,掌握这些技巧,将让您在企业管理中游刃有余,轻松应对各种挑战。一、使用安企神软件实时监控...
安企神桌管软件:提升企业管理效率的全能助力
安企神桌管软件:提升企业管理效率的全能助力在当今竞争激烈的商业环境中,企业必须不断优化管理和运营流程,以提高效率和盈利能力。安企神桌管软件正是这样一款面向中小企业的管理工具,能够帮助企业在多方面提升综合管理水平。本文将详细探讨安企神桌管软件给企业带来的多重价值。一、全方位的管理功能安企神桌管软件是一款集成了多种管理功能...
安企神:揭开终端安全管理软件的神秘面纱
安企神:揭开终端安全管理软件的神秘面纱在数字化日益普及的今天,企业的网络安全问题愈发显得重要。数据泄露、网络攻击等事件层出不穷,如何保障企业内部信息的安全性成为众多企业关心的焦点。安企神终端安全管理软件应运而生,作为一款专业的安全管理工具,它的功能与优势备受关注。本文将全面揭秘安企神软件的核心功能、应用场景及其在终端安...