2024年4月28日发(作者:)

Software and Algorithms 

种改进U RL保护算法研究 

章红琴 ,张文盛 

(1.安徽继远软件有限责任公司,安徽合肥230088;2.安徽广播电视大学,安徽合肥230022) 

摘 要:针对传统URL保护算法存在暴露实现细节的问题,提出一种采用MD5和AES保护URL的改进算法。首先将原始URL 

和密钥keyl按规定顺序装配,计算MD5检验和,并将检验和嵌入原始URL得到防篡改URL;其次使用密钥key2对防篡改URL 

执行AES加密得到加密URL;最后对加密URL进行编码,得到受保护URL。解析过程逆向操作,期间验证检验和,丢弃无效请 

求。在PHP中测试两种保护算法的性能,结果表明改进算法与传统算法相比,生成速度变为原来的2倍,解析速度变为原来的 

0.8倍。而相比传统算法,改进算法具有保密性特点,能够提高Web应用的安全性。 

关键词:URL保护;Web安全;信息泄露;语义攻击 

中图分类号:TP309.7 文献标识码:A 文章编号:1674-7720(2016)04-0009-03 

引用格式:章红琴,张文盛.一种改进URL保护算法研究[J].微型机与应用,2016,35(4):9-l1,16. 

Study on an improved URL protection algorithm 

Zhang Hongqin ,Zhang Wensheng 

(1.Anhui Jiyuan Software Limited Liability Company,Hefei 230088,China;2.Anhui Radio&TV University,Hefei 230022,China) 

Abstract:Aiming at the problem that the traditional URL protection algorithm exposes implement details,an improved algorithm using MD5 and 

AES to protect URL is proposed.Firstly,the original URL and a key are orderly assembled into a string,MD5 checksum of this stirng is cal— 

culated,then the checksum and the original URL are assembled into a tamper proof URL.Secondly,using AES eneryption algorithm,this 

tamper proof URL is encrypted into a cipher string.Finally,this cipher string is encoded to a protected URL.Parsing protected URL is a re- 

verse operation,in which checksum is verified and invalid requests are discarded.The performance of these two algorithms are tested in PHP. 

The results show that comaring the improved algorithm with the traditional algorithm,generating speed reduces to only 2 times or so,and parsing 

speed reduces to only 0.8 times or SO.Compared with the traditional algorithm,the improved algorithm has the feature of secrecy,which can 

improve the security of Web application. 

Key words:URL protection;Web security;information leakage;semantic attack 

0 引言 

进行URL解析,相应的开销也就越大,特别对于访问量较 

URL是Web应用的重要组成部分,不重视URL的保 大的应用,更是需要慎重设计,要在几个因素之间找到一 

护会造成不良后果。一些Web应用将用户名和密码等敏 

个平衡点。本文遵从该设计原则,提出一种URL保护算 

感信息嵌入URL实现特定功能,而浏览器都有记录访问 法,在尽量降低解析开销的同时,实现URL的保密性和抗 

历史功能,将用户访问的敏感URL记录下来,一旦黑客有 

篡改特性。 

机会扫描和分析该记录,就会造成信息泄露…。此外在大 

1 相关研究 

量的Web应用中,数据库使用自增id作为记录的键值,并 

目前URL保护算法研究主要采用MD5算法 。 

在URL的请求参数直接嵌入该键值,生成类似于show. MD5是一种散列算法,能够将任意长的字符串计算成为 

php?id=9的URL,恶意用户据此可推测出数据库实现方 

个128 bit的值,具有很强的抗碰撞攻击能力 。这类 

式,伪造其他请求参数,例如id=10对数据库进行语义攻 

URL保护算法的处理过程是:首先将原始URL字符串s1 

击,访问到应该受限的资源 。URL保护是对URL进行 和一个密钥字符串key拼接形成字符串s2;其次计算s2 

适当的处理,杜绝此类不良后果,提高Web安全性。 的MD5检验和;最后将检验和嵌入s1成为字符串s3,s3 

URL保护内容包括结构、编码和算法等多方面,重点 是供用户访问的最终URL。用户访问最终URL时,系统 

是保护算法。在设计URL保护算法时,需要考虑多个因 

完成验证检验和的工作。其工作原理如图1和图2所示。 

素,包括保护强度、解析效率和编程接口复杂度等。URL 

传统URL保护算法的核心是密钥key,由于MD5是 

保护算法越复杂,保护强度也就越高,而每次访问都需要 

不可逆算法,想要反推出密钥key,是极其困难的。没有 

《微型机与应用))2016年第35卷第4期 

欢迎网上投稿www.pcachina.corn 9 

Software and Algorithms 

图1传统URL保护算法生成URL过程 

图2传统URL保护算法解析URL过程 

密钥key,想要计算出含攻击意图的s1且能够通过验证, 

即碰撞攻击,也是极其困难的。因此MD5能够有效保护 

URL不被篡改,保证用户访问的URL都是合法的。但是 

这些研究未考虑明文请求参数的信息泄漏问题,还需要完 

善。本文提出一种URL保护算法,既能防篡改,又能保 

密,可以大幅提升Web应用安全。 

2 改进URL保护算法 

改进URL保护算法采用MD5和AES共同保护URL。 

AES是一种对称加密算法,属于分组密码,具有很强的抗 

分析能力 。规定双引号为字符串定界符,双引号之间 

的字符为字符串内容,“+”为字符串拼接运算符,则改进 

算法的具体执行过程是: 

(1)将请求参数s1和密钥keyl按规定顺序装配成字 

符串s2=keyt+sl; 

(2)计算s2的MD5检验和 =md5(s2); 

(3)将检验和 嵌入s1成为新请求字符串s3=”v=” 

+ +”&”+sl: 

(4)对s3使用密钥key2执行AES加密得到字符串s4 

=aes(s3,key2); 

(5)对s4使用改进base64编码成为字符串s5= 

base64

encode

ex(s4),得到最终URL。 

(6)解析过程逆向操作,期间验证检验和,丢弃无效 

请求。 

其工作原理如图3、图4所示。 

AES base64 

图3改进URL算法生成URL过程 

本算法的改进之处在于,在MD5实现防篡改特性基 

础之上,使用AES加密算法加强信息泄露保护,从而实现 

保密特性。在算法设计上,做如下几点说明: 

10 

图4改进URL算法解析URL过程 

(1)虽然AES已经可以很好地保护URL,但是为了强 

化保护能力,继续保留keyl用于MD5计算; 

(2)使用AES解密伪造的URL时,可能不会出错,但 

会得到乱码字符串,对后续步骤的执行造成干扰,为了更 

好地检测这种攻击,在将检验和嵌入s3时,特意增加”v 

”标识,便于验证和丢弃无效的请求; 

(3)AES加密生成的是二进制字符串,需要用base64 

编码成为可以传输的字符串。但是base64编码中存在 

+/字符,不是URL兼容的,本算法采用改进base64算法, 

将+/替换为一 。 

(4)为了支持AJAX,允许在保护URL后面拼接其他 

请求参数,但是不允许覆盖保护URL中的参数。 

3 算法实现 

下面给出改进算法的PHP实现。改进算法需要多个 

参数,将其封装成配置参数对象,结构如下: 

¥cfg=new stdClass(): 

¥cfg一>keyl=-123456t; //rod5密钥 

¥c 一>aes=’aes128’; //aes加密标准 

¥cfg一>key2=,l11111 ; //aes密钥 

¥cfg一>iv= k13j42:14j2:lkj4’: 

//aes iv值,初始向量 

3.1 生成算法 

//¥sl为请求参数串,¥cfg为配置参数对象 

function createLink(¥sl,¥cfg) 

{ 

¥v=rod5(¥cfg一>key1.¥s1); //生成检验和 

¥s2=,v=,.¥v,&t.¥sl: 

¥s3=openssl—encrypt(¥s2,¥efg一>aes,¥cfg一>key2,true, 

¥cfg一>iv); //加密 

¥s4:strtr(base64一encode(¥s3),,+/t,t一 t);; 

//使用改进base64编码处理 

3.2解析算法 

//¥s5为安全URL串,¥cfg为配置参数对象 

function parseLink(¥s5,¥cfg) 

¥s4=base64一dencode(strtr(¥s5, 一 ,-+/-)); //解码 

if(¥s4…false)return false; //解码失败 

¥s3=openssl—decrypt(¥s4,8 cfg一>aes,¥cfg一>key2,true, 

《微型机与应用)2016年第35卷第4期 

Software and Algorithms 

¥cfg一>iv); 

if(¥s3===false)return false 

¥i=strpos(¥s3,·&-); 

表1 URL保护算法性能测试和对比(单位:S) 

//解密失败 

输入组 s1(长度lO字符) sl(长度100字符) 

if(¥i…false)return false: 

//未找到& 

¥v=substr(¥s3,0,¥i); 

//¥i是长度,解析嵌入的检验和 

传统算法生成(a1)0.04 0.45 4.53 45.62 0.04 0.47 4.75 47.44 

传统算法解析(a2)0.12 1.28 12.86 129.16 0.13 1.31 13.03 130.76 

改进算法生成(a3)0.13 1.3O l3.09 130.78 0.14 1.42 14.24 141.72 

改进算法解析(a4)0.22 2.22 22.28 222.20 0.24 2.38 23.94 238.97 

(a2一a1)/al 

(a4一a3)/a3 

(a3一a1)/al 

2.0o 1.84 1.84 1.83 2.25 1.79 1.74 1.76 

0.69 0.71 0.70 0.70 0.71 0.68 0.68 0.69 

2.25 1.89 1.89 1.87 2.50 2.02 2.O0 1.99 

0.83 0.73 0.73 0.72 0.85 0.82 0.84 0.83 

if(¥i<>34 I I substr(¥v,0,2)<> ·v=·)return false; 

//长度或标识不符 

¥v=substr(¥v,2); 

¥sl=substr(¥s3,¥i+1); 

¥s2=¥cfg一>key1.¥sl; 

//取检验和 

//解析s1 

¥v2:rod5(¥s2); 

if(¥v<>8 v2)return false; 

return¥sl: 

//计算检验和 

//比较检验和 

(a4一a2)/82 

法生成时间的(a2一a1)/al=1.8倍左右,改进算法解析 

} 

时间是改进算法生成时间的(a4一a3)/a3=0.7倍左右。 

还可以分析出当字符串长度从10增加到100时,相应的 

处理时间增加不到10%,说明字符串长度增加对算法性 

能的影响不是很大。 

5 结论 

4性能测试 

分别测试传统算法和改进算法的性能开销。测试环 

境硬件为Intel(R)Core(TM)2 Quad CPU Q94oo@ 

2.66GHz CPU,软件为Windows 2003(x86—32,企业版)+ 

PHP 5.3.13(nts,x86.32)。采用两组s1输入,每次测试3 

次,取平均值,测试结果如表1所示。 

保护URL能提高Web应用的安全性,传统URL保护 

算法存在信息泄漏问题,为此本文设计了一种改进URL 

保护算法,既能防篡改,又能防止信息泄漏,能够全面保护 

URL。在给出实现代码的同时,测试了两种算法的性能,结果 

表明改进算法性能并没有大幅下降,可以满足大多数Web应用 

的需求。 (下转第l6页) 

从表1可以看出,改进算法生成时间比传统算法生成 

时间增加(a2一a1)/al=2倍左右,改成算法解析时间比 

传统算法解析时间增加(a4一a2)/a2=0.8倍左右。此外 

解析时间比生成时间都要长,传统算法解析时间是传统算 

(上接第8页) 

计与实现[J].微型机与应用,2015,34(17):18-20. 

[4]薛陇彬,刘钊远.基于WebSocket的网络实时通信[J].计 

算机与数字工程,2014(3):478_481. 

[5]张玲,张翠肖.WebSocket服务器推送技术的研究[J].河北 

省科学院学报,2014,31(2):49-53. 

[6]贾殿燕.基于Tornado的即时通讯系统的设计与实现[J]. 

通过以上操作已经建立起了WiFi热点,但是接入设 

备需要自行设置有效的IP地址才能连接热点,Linux系统 

可以通过udhcp运行DHCP服务,为接入设备自动分配有 

效的IP地址 。udhcp的配置文件为/etc/udhcp.conf,主 

要配置有效的IP地址范围。 

启动hostapd和udhcp进程并加入到系统启动项中, 

至此,设备已经可以通过无线局域网连接到采集仪。 

5 结论 

本文以Web服务器和数据库为核心设计并实现了一 

种基于嵌入式图像采集平台的图像信息管理系统,并通过 

WiFi与客户端进行通信。系统采用B/S模式运行,用户 

可以在PC或者移动客户端的浏览器上查看图像信息和 

下载图像,并且采集仪与客户端完全通过无线进行通信。 

该系统提高了图像信息管理的灵活性和便捷性,并简化了 

设备部署的复杂度。 

参考文献 

[1]高盛丰.岩石小样本图像采集系统设计和实现[D].成都: 

四川大学,2012. 

电子技术与软件工程,2015(5):67—68. 

[7]齐亚兰,苏凯雄,沈少阳.IEEE802.11n技术标准及其在无 

线局域网中的应用[J].数字技术与应用,2012(6):54-56. 

[8]张剑英,李宗为,张祥忠,等.一种基于ARM11的无线AP 

进程移植方法[J].电视技术,2013,37(15):57-59,86. 

[9]王爱华,李永春.DHCP客户端在ARM下的设计与实现[J]. 

微型机与应用,2012,31(22):53—56. 

(收稿13期:2015—10-19) 

作者简介: 

张力云(1991一),男,硕士研究生,主要研究方向:图像处理 

与嵌入式开发。 

余艳梅(1975一),通信作者,女,博士研究生,副教授,主要 

研究方向:图像处理。E-mail:yuyanmei@SCU.edu.an。 

吴小强(1969一),男,高级工程师,主要研究方向:图像处 

理,数据库系统,嵌入式系统。 

[2]曾杰.一体化岩屑数字图像采集系统的设计和实现[D]. 

成都:四川大学,2015. 

[3]杜晓东,舒明蕾,孟利民,等.基于QT的跨平台虚拟键盘设 

《微型机与应用)2016年第35卷第4期 

欢迎网上投稿WWW.pcachina.com 11 

IB∞\r)0∞ 

实时有效控制。 

参考文献 

之幽 

[1]BANVAIT H,ANWAR S,Chen Yaobin.A rule—based energy 

management strategy for plug in hybrid electric vehicle[C].Pro- 

ceedings of the American Control Conference,2009:3938—3943. 

SCHOUTEN N J,SALMAN M A,KHEIR N A.Energy man— 

[2] 

agement strategies for parallel hybrid vehicles using fuzzy logic 

[J].Control Engineering Practice,2003,11(2):171—177. 

[3] 

Wu Jian,Zhang Chenghui,Cui Naxin.Real-time energy manage- 

ment of parallel hybrid electric vehicle based on BP neural network 

图15电池和电容SOC变化曲线 

[J].Electric Machines and Control,2008,12(5):610—614. 

Gu Yanchun,Yin Chengliang,Zhang Jianwu.Optimal torque 

[4] 

control strategy for parallel hybrid electric vehicle with automat- 

150 

149 

148 

ic mechanical transmission『J].Chinese Journal of Mechanical 

暑rJ 0∽ 

芝147 

146 

Engineering(English Edition),2007,20(1):16—20. 

PEREZ L V,BOSSIO G R,MOITRE D,et a1.Optimization of 

[5] 

power management in an hybrid electric vehicle using dynamic 

脚145 

144 

143 

programming[J].Mathematics and Computers in Simulation, 

2006,73(1):244—254. 

[6] 

JOSSEN A.Fundamentals of battery dynamics[J].Journal of 

t/s 

Power Sources,2006,154(2):530—538. 

图l6 电池组充放电电压电流 

[7] 

FALK0WSKI B J.Forward and inverse transformations between 

haar wavelet and arithmetic functions『J].Electronics Letters. 

1998,34(2):1084—1085. 

Wang Xin.Moving window—based double haar wavelet transform 

[8] 

ofr image processing[J].IEEE Transactions on Image Process— 

ing,2006,15(9):2771-2779. 

 E H,ASSILIAN S.An experiment in linguistic 

[9] 

MAMDANI

synthesis with a fuzzy logic controller[J].International Journal 

ofMan—Machine Studies,1975,7(1):1—1 3. 

(收稿日期:2015.10.30) 

图17超级电容充放电电压电流 

作者简介: 

究对象,首先以某型履带推土机典型推土作业工况的能量 

需求为依据,综合运用小波技术与模糊控制技术设计了前 

功率链3个能量源的分配策略,之后建立了履带推土机电 

潘明(1987一),男,博士研究生,主要研究方向:电传动系统 

能量管理与整车控制。 

严骏(1962一),男,博士,教授,主要研究方向:军事装备试 

验与论证。 

传动系统仿真平台。仿真结果表明,所设计的多能源管理 

策略在满足功率需求的前提下,综合考虑3个能量源各自 

涂群章(1969一),通信作者,男,博士,教授,主要研究方向: 

机械装备机电一体化。E—mail:tqzlhnj@126.com。 

的特点,能够对电传动推土机推土工况下的功率分配进行 

(上接第11页) 

[6]毛熠,陈娜.MD5算法的研究与改进[J].计算机工程,2012, 

38(24):111—114,118. 

参考文献 

[1]朱小龙,孙国梓.浏览器历史痕迹提取技术[J].信息网络安 

全,2013(1):19—21. 

[7]赵雪梅.AES加密算法的实现及应用[J].常熟理工学院学 

报,2010,24(2):105—110. 

[8]杨斐,彭鹏.基于AES的可重构加密系统的FPGA设计[J]. 

微型机与应用,2014,33(24):2—4. 

(收稿13期:2015—09—23) 

[2]熊婧.SQL注入检测技术研究[D].武汉:华中科技大学,2009. 

[3]杜恩宽.URL攻击防范和细粒度权限管理的安全链接方法[J]. 

计算机应用,2009,29(8):2230—2232. 

[4]刘国卿.基于MD5的URL防篡改算法设计[J].科技信息, 

2011(3):504—505,536. 

作者简介: 

[5]张杰,李华伟,周立军.一种采用MD5加密算法防止URL攻 

击的方法[J].现代计算机,2014(4):52—54. 

1 6 

章红琴(1982一),女,硕士,助理工程师,主要研究方向:项 

目管理。 

《微型机与应用)2016年第35卷第4期