《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 一種改進URL保護算法研究
一種改進URL保護算法研究
2016年微型機與應用第04期
章紅琴1,張文盛2
(1.安徽繼遠軟件有限責任公司,安徽 合肥 230088;2.安徽廣播電視大學,安徽 合肥 230022)
摘要: 針對傳統URL保護算法存在暴露實現細節的問題,提出一種采用MD5和AES保護URL的改進算法。首先將原始URL和密鑰key1按規定順序裝配,計算MD5檢驗和,并將檢驗和嵌入原始URL得到防篡改URL;其次使用密鑰key2對防篡改URL執行AES加密得到加密URL;最后對加密URL進行編碼,得到受保護URL。解析過程逆向操作,期間驗證檢驗和,丟棄無效請求。在PHP中測試兩種保護算法的性能,結果表明改進算法與傳統算法相比,生成速度變為原來的2倍,解析速度變為原來的0.8倍。而相比傳統算法,改進算法具有保密性特點,能夠提高Web應用的安全性。
Abstract:
Key words :

  章紅琴1,張文盛2

  (1.安徽繼遠軟件有限責任公司,安徽 合肥 230088;2.安徽廣播電視大學,安徽 合肥 230022)       摘要:針對傳統URL保護算法存在暴露實現細節的問題,提出一種采用MD5和AES保護URL的改進算法。首先將原始URL和密鑰key1按規定順序裝配,計算MD5檢驗和,并將檢驗和嵌入原始URL得到防篡改URL;其次使用密鑰key2對防篡改URL執行AES加密得到加密URL;最后對加密URL進行編碼,得到受保護URL。解析過程逆向操作,期間驗證檢驗和,丟棄無效請求。在PHP中測試兩種保護算法的性能,結果表明改進算法與傳統算法相比,生成速度變為原來的2倍,解析速度變為原來的0.8倍。而相比傳統算法,改進算法具有保密性特點,能夠提高Web應用的安全性。

  關鍵詞:URL保護;Web安全;信息泄露;語義攻擊

0引言

  URL是Web應用的重要組成部分,不重視URL的保護會造成不良后果。一些Web應用將用戶名和密碼等敏感信息嵌入URL實現特定功能,而瀏覽器都有記錄訪問歷史功能,將用戶訪問的敏感URL記錄下來,一旦黑客有機會掃描和分析該記錄,就會造成信息泄露[1]。此外在大量的Web應用中,數據庫使用自增id作為記錄的鍵值,并在URL的請求參數直接嵌入該鍵值,生成類似于show.php?id=9的URL,惡意用戶據此可推測出數據庫實現方式,偽造其他請求參數,例如id=10對數據庫進行語義攻擊,訪問到應該受限的資源[2]。URL保護是對URL進行適當的處理,杜絕此類不良后果,提高Web安全性。

  URL保護內容包括結構、編碼和算法等多方面,重點是保護算法。在設計URL保護算法時,需要考慮多個因素,包括保護強度、解析效率和編程接口復雜度等。URL保護算法越復雜,保護強度也就越高,而每次訪問都需要進行URL解析,相應的開銷也就越大,特別對于訪問量較大的應用,更是需要慎重設計,要在幾個因素之間找到一個平衡點。本文遵從該設計原則,提出一種URL保護算法,在盡量降低解析開銷的同時,實現URL的保密性和抗篡改特性。

1相關研究

  目前URL保護算法研究主要采用MD5算法[35]。MD5是一種散列算法,能夠將任意長的字符串計算成為一個128 bit的值,具有很強的抗碰撞攻擊能力[6]。這類URL保護算法的處理過程是:首先將原始URL字符串s1和一個密鑰字符串key拼接形成字符串s2;其次計算s2的MD5檢驗和;最后將檢驗和嵌入s1成為字符串s3,s3是供用戶訪問的最終URL。用戶訪問最終URL時,系統完成驗證檢驗和的工作。其工作原理如圖1和圖2所示。

  

001.jpg

  傳統URL保護算法的核心是密鑰key,由于MD5是不可逆算法,想要反推出密鑰key,是極其困難的。沒有圖2傳統URL保護算法解析URL過程

  密鑰key, 想要計算出含攻擊意圖的s1且能夠通過驗證,即碰撞攻擊,也是極其困難的。因此MD5能夠有效保護URL不被篡改,保證用戶訪問的URL都是合法的。但是這些研究未考慮明文請求參數的信息泄漏問題,還需要完善。本文提出一種URL保護算法,既能防篡改,又能保密,可以大幅提升Web應用安全。

2改進URL保護算法

  改進URL保護算法采用MD5和AES共同保護URL。AES是一種對稱加密算法,屬于分組密碼,具有很強的抗分析能力[78]。規定雙引號為字符串定界符,雙引號之間的字符為字符串內容,“+”為字符串拼接運算符,則改進算法的具體執行過程是:

 ?。?)將請求參數s1和密鑰key1按規定順序裝配成字符串s2=key1+s1;

 ?。?)計算s2的MD5檢驗和v=md5(s2);

  (3)將檢驗和v嵌入s1成為新請求字符串s3="v="+v+"&"+s1;

 ?。?)對s3使用密鑰key2執行AES加密得到字符串s4=aes(s3,key2);

 ?。?)對s4使用改進base64編碼成為字符串s5=base64_encode_ex(s4),得到最終URL。

 ?。?)解析過程逆向操作,期間驗證檢驗和,丟棄無效請求。

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

  

  本算法的改進之處在于,在MD5實現防篡改特性基礎之上,使用AES加密算法加強信息泄露保護,從而實現保密特性。在算法設計上,做如下幾點說明:

  (1)雖然AES已經可以很好地保護URL,但是為了強化保護能力,繼續保留key1用于MD5計算;

 ?。?)使用AES解密偽造的URL時,可能不會出錯,但會得到亂碼字符串,對后續步驟的執行造成干擾,為了更好地檢測這種攻擊,在將檢驗和嵌入s3時,特意增加"v="標識,便于驗證和丟棄無效的請求;

  (3)AES加密生成的是二進制字符串,需要用base64編碼成為可以傳輸的字符串。但是base64編碼中存在+/字符,不是URL兼容的,本算法采用改進base64 算法,將+/替換為_*。

 ?。?)為了支持AJAX,允許在保護URL后面拼接其他請求參數,但是不允許覆蓋保護URL中的參數。

3算法實現

  下面給出改進算法的PHP實現。改進算法需要多個參數,將其封裝成配置參數對象,結構如下:

  $cfg = new stdClass();

  $cfg->key1 = 123456;//md5密鑰

  $cfg->aes= aes128;//aes加密標準

  $cfg->key2 = 111111;//aes密鑰

  $cfg->iv = kl3j42;l4j2;lkj4;

  //aes iv值,初始向量

  3.1生成算法

  //$s1為請求參數串,$cfg為配置參數對象

  function createLink($s1, $cfg)

  {

  $v = md5($cfg->key1 . $s1);//生成檢驗和

  $s2 = v= . $v .& . $s1;

  $s3 = openssl_encrypt($s2, $cfg->aes, $cfg->key2, true, $cfg->iv);//加密

  $s4=strtr(base64_encode($s3), +/,_*);;

  //使用改進base64編碼處理

  return $s4;

  }

  3.2解析算法

  //$s5為安全URL串,$cfg為配置參數對象

  function parseLink($s5, $cfg)

  {

  $s4 = base64_dencode(strtr($s5,_*,+/));//解碼

  if($s4 === false) return false;//解碼失敗

  $s3 = openssl_decrypt($s4, $cfg->aes, $cfg->key2, true, $cfg->iv);

  if($s3 === false) return false;//解密失敗

  $i = strpos($s3,&);

  if($i === false) return false;//未找到&

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

  //$i是長度,解析嵌入的檢驗和

  if($i <> 34 || substr($v, 0, 2) <>v=) return false;//長度或標識不符

  $v = substr($v, 2);//取檢驗和

  $s1 = substr($s3, $i + 1);//解析s1

  $s2 = $cfg->key1 . $s1;

  $v2 = md5($s2);//計算檢驗和

  if($v <> $v2) return false;//比較檢驗和

  return $s1;

  }

4性能測試

  分別測試傳統算法和改進算法的性能開銷。測試環境硬件為Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz CPU,軟件為Windows 2003(x86_32,企業版) + PHP 5.3.13(nts,x86_32)。采用兩組s1輸入,每次測試3次,取平均值,測試結果如表1所示。

  從表1可以看出,改進算法生成時間比傳統算法生成時間增加(a2-a1)/a1=2倍左右,改成算法解析時間比傳統算法解析時間增加(a4-a2)/a2=0.8倍左右。此外解析時間比生成時間都要長,傳統算法解析時間是傳統算

004.jpg

  法生成時間的(a2-a1)/a1=1.8倍左右,改進算法解析 時間是改進算法生成時間的(a4-a3)/a3=0.7倍左右。還可以分析出當字符串長度從10增加到100時,相應的處理時間增加不到10%,說明字符串長度增加對算法性能的影響不是很大。

5結論

  保護URL能提高Web應用的安全性,傳統URL保護算法存在信息泄漏問題,為此本文設計了一種改進URL保護算法,既能防篡改,又能防止信息泄漏,能夠全面保護URL。在給出實現代碼的同時,測試了兩種算法的性能,結果表明改進算法性能并沒有大幅下降,可以滿足大多數Web應用的需求。

  參考文獻

 ?。?] 朱小龍,孫國梓.瀏覽器歷史痕跡提取技術[J].信息網絡安全,2013(1):19-21.

 ?。?] 熊婧.SQL注入檢測技術研究[D].武漢:華中科技大學,2009.

 ?。?] 杜恩寬.URL攻擊防范和細粒度權限管理的安全鏈接方法[J].計算機應用,2009, 29(8):2230-2232.

  [4] 劉國卿.基于MD5 的URL 防篡改算法設計[J].科技信息,2011(3):504505,536.

 ?。?] 張杰,李華偉,周立軍.一種采用MD5加密算法防止URL攻擊的方法[J].現代計算機, 2014(4):52-54.

 ?。?] 毛熠,陳娜.MD5算法的研究與改進[J].計算機工程,2012,38(24):111-114,118.

 ?。?] 趙雪梅.AES加密算法的實現及應用[J].常熟理工學院學報,2010,24(2):105-110.

 ?。?] 楊斐,彭鵬.基于AES的可重構加密系統的FPGA設計[J].微型機與應用,2014,33(24):2-4.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美激情精品久久久久久大尺度| 欧美日韩一区二区三区四区在线观看 | 亚洲午夜久久久久久久久电影院| 亚洲欧洲日本一区二区三区| 136国产福利精品导航网址| 国产在线一区二区三区四区| 国产一区二区在线免费观看| 国产精品永久在线| 国产精品私人影院| 国产精品一区二区在线观看| 国产精品网站一区| 国产精品一页| 国产小视频国产精品| 国产欧美在线观看一区| 国产亚洲精品一区二区| 国产真实久久| 有码中文亚洲精品| 亚洲黄色高清| 日韩亚洲欧美高清| 亚洲桃色在线一区| 亚洲自拍偷拍视频| 欧美在线首页| 亚洲精品久久久蜜桃| 一本色道久久88综合亚洲精品ⅰ| 一区二区高清视频在线观看| 亚洲伊人观看| 欧美中文在线观看国产| 久久亚洲春色中文字幕久久久| 蜜臀av国产精品久久久久| 欧美精品国产精品| 国产精品久久看| 国产视频久久久久| 亚洲第一精品电影| 亚洲巨乳在线| 亚洲免费中文| 亚洲福利视频网站| 一本久道久久综合狠狠爱| 亚洲欧美国产不卡| 久久亚洲不卡| 欧美日韩一区在线观看| 国产欧美日韩精品a在线观看| 激情久久久久久久| 亚洲美女黄色| 亚洲免费影视第一页| 亚洲高清视频在线| 亚洲线精品一区二区三区八戒| 欧美专区福利在线| 欧美不卡视频一区发布| 欧美视频精品一区| 国内精品免费在线观看| 亚洲精品一区在线观看| 午夜精品久久久久久久白皮肤| 亚洲国产成人tv| 亚洲欧美成人| 另类专区欧美制服同性| 欧美午夜精品久久久久免费视| 国产亚洲精品久| 最新日韩av| 午夜在线播放视频欧美| 日韩午夜剧场| 久久国产精品第一页| 欧美成在线观看| 国产噜噜噜噜噜久久久久久久久| 亚洲成人资源| 午夜亚洲福利在线老司机| 亚洲免费av网站| 久久久精品动漫| 欧美视频在线观看| 亚洲高清中文字幕| 羞羞答答国产精品www一本| 99在线|亚洲一区二区| 欧美在线三区| 国产精品magnet| 亚洲国产精品一区二区三区| 亚洲欧美日韩天堂| 在线亚洲一区二区| 欧美11—12娇小xxxx| 国产欧美日韩激情| 日韩亚洲视频| 亚洲精品影视| 久久久久.com| 国产精品亚洲片夜色在线| 亚洲免费观看高清完整版在线观看熊 | 国产日韩一级二级三级| 亚洲美女毛片| 91久久黄色| 久久久国产一区二区三区| 国产精品成人v| 亚洲人成网站在线观看播放| 久久黄色网页| 久久国产夜色精品鲁鲁99| 欧美午夜在线视频| 91久久精品日日躁夜夜躁国产| 性欧美xxxx大乳国产app| 亚洲一区二区三区免费在线观看| 欧美成人资源| 在线成人免费观看| 久久国产99| 久久精品国语| 国产日韩欧美亚洲| 亚洲男人的天堂在线观看 | 欧美不卡视频| 伊人天天综合| 久久精品日产第一区二区三区| 欧美一区二区视频观看视频| 欧美日韩在线观看一区二区三区 | 亚洲视频图片小说| 欧美激情综合色综合啪啪| 亚洲电影免费观看高清完整版在线观看 | 亚洲国产导航| 久久精品观看| 国产欧美日韩| 午夜欧美不卡精品aaaaa| 欧美怡红院视频| 国产乱理伦片在线观看夜一区| 亚洲永久免费视频| 午夜精品视频网站| 国产精品一区毛片| 午夜精品久久99蜜桃的功能介绍| 午夜久久久久| 国产麻豆成人精品| 午夜一区不卡| 久久久久久久久伊人| 国产一区观看| 久久精品一区二区三区四区| 麻豆精品在线视频| 亚洲激情欧美激情| 一区二区三区三区在线| 欧美日本中文字幕| 亚洲免费黄色| 亚洲综合国产激情另类一区| 国产精品久久久久婷婷| 亚洲一区二区在线免费观看视频 | 小黄鸭精品aⅴ导航网站入口| 久久成人在线| 国产一区激情| 亚洲日本aⅴ片在线观看香蕉| 欧美激情精品久久久久久黑人 | 亚洲欧美日韩网| 国产区欧美区日韩区| 久久黄色网页| 欧美电影资源| 99国产一区| 欧美亚洲一级片| 国产自产在线视频一区| 亚洲欧洲免费视频| 欧美三日本三级三级在线播放| 亚洲一区二区视频在线| 久久精品国产久精国产思思| 影音欧美亚洲| aa级大片欧美| 国产精品乱看| 久久精品亚洲| 欧美日韩免费一区二区三区视频| 亚洲曰本av电影| 久久在线免费| 日韩亚洲欧美精品| 久久黄色网页| 亚洲国产欧美国产综合一区| 亚洲一区二区三区高清不卡| 国产亚洲精品久久飘花| 亚洲精品亚洲人成人网| 国产精品狼人久久影院观看方式| 欧美在线高清视频| 欧美精品www在线观看| 亚洲一区二区三区免费在线观看 | 欧美亚洲综合久久| 伊伊综合在线| 亚洲视频观看| 黄色日韩精品| 亚洲香蕉成视频在线观看 | 亚洲一区二区在线免费观看视频 | 亚洲男人的天堂在线| 国产亚洲欧美在线| 日韩亚洲欧美在线观看| 国产精一区二区三区| 亚洲破处大片| 国产精品一区三区| 日韩一区二区福利| 国产亚洲一区精品| 亚洲私人黄色宅男| 在线高清一区| 亚洲综合成人婷婷小说| 一区二区三区我不卡| 亚洲欧美日韩中文播放| 亚洲国产一区在线| 欧美在线网站| 亚洲乱码精品一二三四区日韩在线 | 国产精品夜色7777狼人 | 亚洲自拍偷拍色片视频| 影音先锋成人资源站| 午夜精品美女久久久久av福利| 亚洲国产成人久久综合| 久久成人免费视频| 一本久道久久综合中文字幕| 免费看黄裸体一级大秀欧美| 亚洲欧美日本另类| 欧美三级电影精品| 亚洲精品国产精品国产自| 国产综合久久久久久|