随着高校数字化校园进程的推进,校园网也是部署各类应用系统的基础平台,无论是校园内网还是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,这是一个笼统的名称,它是用正文形式表示数据和处理过程的设计工具。
筑牢安全防线:安企神企业助力特种设备机械企业数据防泄密解决方案
西安苛菲特机械设备有限公司 西安苛菲特机械设备有限公司致力于特种设备的发展,专业从事特种设备的研发、制造和销售。目前已成为有色冶金特种设备、大型船舶特种设备、煤化工特种设备的领军品牌,并在业内得到了“ 特种设备专家”的称号。公司以打造国内一流特种设备为使命,主要产品定型为高品质特种(高温、高压、高合金)流量控...
安企神软件——为中国铁道建筑集团有限公司筑牢数据防泄密系统
01公司介绍中国铁建是中国乃至全球最具实力、最具规模的特大型综合建设集团之一,入选世界500强企业、全球225家最大承包商之一等荣誉。公司以工程承包为主业,集勘察、设计、投融资、施工、设备安装、工程监理、技术咨询、外经外贸于一体,经营业务遍及除台湾省外全国31个省市(自治区)、世界20多个国家和地区,企业总资产820亿...
强化终端安全,安企神软件与涂料制造企业共创安全未来
西安经建油漆有限责任公司规模化、专业化、现代化涂料制造企业西安经建油漆有限责任公司,年涂料生产能力20万吨,为中国中西部实力较强、产能较大的涂料制造企业。公司成立伊始便积极承担起重点建设项目及国防军事工业、航空航天工业提供配套涂料科研开发及生产任务。多次受到中国航天科技集团总公司的通令嘉奖,为我国航天事业跻身世界前列做...
全球著名减震器制造商——天纳克携手安企神共筑安全制造新防线
天纳克(北京)汽车减振器有限公司天纳克(北京)汽车减振器有限公司成立于1995年,是天纳克在中国最早投资的合资企业。公司集设计、开发、生产及销售汽车减振器于一身。作为天纳克全球网络的一部分,能充分享受天纳克全球的技术积累经验和国际领先的设计理念,加之先进的生产设备和工艺技术。天纳克(北京)汽车减振器有限公司完全能保证为...
强强联合!安企神软件携手瀚颐共筑汽车行业终端安全防线
瀚颐上海汽车电子科技有限公司EAST瀚颐中国团队成立于2015年。是国际AUTOSAR软件联盟的研发伙伴单位。具备汽车电子硬件设计、软件开发、CAN网络集成、系统集成测试以及项目管理的全面研发能力。专注于汽车电子以及相关产业并拥有25年以上的专业经验,拥有来自于德国和中国业内专家和高管组成的顾问团队,并向全球汽车行业客...