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

  章紅琴1,張文盛2

  (1.安徽繼遠軟件有限責任公司,安徽 合肥 230088;2.安徽廣播電視大學,安徽 合肥 230022)       摘要:針對傳統URL保護算法存在暴露實現細節(jié)的問題,提出一種采用MD5和AES保護URL的改進算法。首先將原始URL和密鑰key1按規(guī)定順序裝配,計算MD5檢驗和,并將檢驗和嵌入原始URL得到防篡改URL;其次使用密鑰key2對防篡改URL執(zhí)行AES加密得到加密URL;最后對加密URL進行編碼,得到受保護URL。解析過程逆向操作,期間驗證檢驗和,丟棄無效請求。在PHP中測試兩種保護算法的性能,結果表明改進算法與傳統算法相比,生成速度變?yōu)樵瓉淼?倍,解析速度變?yōu)樵瓉淼?.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]。規(guī)定雙引號為字符串定界符,雙引號之間的字符為字符串內容,“+”為字符串拼接運算符,則改進算法的具體執(zhí)行過程是:

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

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

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

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

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

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

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

  

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

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

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

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

  (4)為了支持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性能測試

  分別測試傳統算法和改進算法的性能開銷。測試環(huán)境硬件為Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz CPU,軟件為Windows 2003(x86_32,企業(yè)版) + 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應用的需求。

  參考文獻

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

  [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.

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

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

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


此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美视频日韩视频| 国产精品视频成人| 亚洲欧美另类在线| 一区二区三区视频观看| 亚洲国产高清在线观看视频| 亚洲欧美日韩精品久久奇米色影视 | 亚洲视频在线看| 亚洲毛片在线免费观看| 亚洲精品婷婷| 一区二区三区欧美在线| 在线一区二区三区做爰视频网站| 日韩亚洲一区在线播放| 日韩视频免费大全中文字幕| 日韩一级在线| 亚洲天堂av综合网| 亚洲永久免费av| 亚洲字幕在线观看| 欧美一区二区免费| 久久精品99国产精品日本 | 欧美午夜精品一区| 欧美午夜视频在线| 国产精品你懂的在线欣赏| 国产精品欧美风情| 国产亚洲欧美日韩日本| 红桃视频国产精品| 亚洲丰满在线| 日韩午夜激情电影| 亚洲午夜影视影院在线观看| 亚洲综合精品自拍| 性欧美办公室18xxxxhd| 久久精品免费电影| 亚洲精品三级| 宅男精品视频| 香蕉久久夜色精品国产使用方法| 久久av红桃一区二区小说| 久久久噜噜噜久噜久久| 美国成人毛片| 欧美日韩在线高清| 国产欧亚日韩视频| 在线播放日韩欧美| 日韩亚洲综合在线| 午夜视黄欧洲亚洲| 亚洲国产日韩欧美在线动漫| 99成人在线| 性伦欧美刺激片在线观看| 久久躁日日躁aaaaxxxx| 欧美女同视频| 国产伦精品一区二区三| 激情久久影院| 99人久久精品视频最新地址| 欧美亚洲视频| 日韩视频一区| 欧美一区二区黄色| 欧美国产日本韩| 国产精品香蕉在线观看| 亚洲福利一区| 亚洲一卡久久| 亚洲全部视频| 午夜久久久久久久久久一区二区| 鲁大师成人一区二区三区| 欧美午夜在线视频| 尤物yw午夜国产精品视频| 亚洲图片欧美日产| 亚洲国产精品悠悠久久琪琪| 亚洲小少妇裸体bbw| 久久久久久久综合日本| 欧美日韩三区四区| 影音先锋日韩精品| 亚洲一区二区成人在线观看| 亚洲欧洲一二三| 欧美亚洲视频一区二区| 欧美成人免费在线视频| 国产精品推荐精品| 亚洲国产另类久久精品| 亚洲综合精品| 夜夜爽www精品| 久久久亚洲午夜电影| 欧美日韩在线精品一区二区三区| 一区二区三区在线视频观看| 亚洲视频免费观看| 日韩性生活视频| 久久久久国产精品www| 欧美午夜在线视频| 亚洲国内欧美| 久久都是精品| 亚洲欧美中文另类| 欧美精品综合| 影音先锋久久久| 欧美一区二区在线| 先锋影音久久久| 欧美色网在线| 亚洲人体影院| 亚洲国产成人av好男人在线观看| 午夜欧美电影在线观看| 欧美日韩高清在线播放| 国外视频精品毛片| 亚洲欧美日韩精品久久| 亚洲网在线观看| 日韩视频在线免费观看| 亚洲美女一区| 亚洲国产精品电影| 久久国产日本精品| 国产精品乱码人人做人人爱| 亚洲精品视频在线观看网站| 91久久精品一区| 久久影院午夜论| 国语自产在线不卡| 欧美一级大片在线免费观看| 亚洲欧美综合国产精品一区| 欧美日本国产| 亚洲人成绝费网站色www| 亚洲精品你懂的| 免费观看不卡av| 黄色精品一区二区| 久久精品国产久精国产思思| 欧美一区二区三区四区在线| 国产精品免费观看在线| 亚洲视频你懂的| 亚洲视频综合在线| 欧美色网在线| 一区二区三区蜜桃网| 一区二区三区欧美在线| 欧美日韩精品一区二区在线播放| 亚洲美女精品久久| 在线一区二区三区四区五区| 欧美日韩国产精品成人| 亚洲美女诱惑| 亚洲视频在线观看一区| 国产精品久久久久久超碰| 亚洲一区二区三区激情| 午夜伦欧美伦电影理论片| 国产老肥熟一区二区三区| 香蕉成人伊视频在线观看 | 亚洲一二三区在线| 亚洲欧美中文另类| 国产欧美一区二区三区久久人妖| 亚洲欧美另类在线观看| 久久精品国产清高在天天线 | 亚洲国产高清在线观看视频| 免费成人黄色av| 亚洲日韩中文字幕在线播放| 一区二区三区产品免费精品久久75| 欧美精品日韩一区| 99精品欧美一区二区三区综合在线| 亚洲永久精品大片| 国产日韩视频一区二区三区| 欧美淫片网站| 免费亚洲一区| 亚洲精选在线| 亚洲一区免费网站| 国产偷久久久精品专区| 亚洲国产欧美一区二区三区久久 | 欧美日韩国产黄| 亚洲午夜一区二区三区| 久久久久国产精品一区| 在线观看的日韩av| 亚洲午夜免费福利视频| 国产精品视频99| 亚洲高清精品中出| 欧美日韩美女在线观看| 亚洲已满18点击进入久久| 久久色在线观看| 亚洲精品久久久蜜桃| 欧美一区二区三区四区高清 | 亚洲国产一区二区三区高清| 亚洲永久免费| 狠狠综合久久| 99精品99久久久久久宅男| 国产精品美女www爽爽爽视频| 久久国产黑丝| 欧美日韩中字| 久久国产精品亚洲77777| 欧美日韩中文字幕精品| 久久精品国产99| 欧美性猛交一区二区三区精品| 欧美一区免费视频| 欧美日韩精品免费| 性伦欧美刺激片在线观看| 欧美激情一区二区三区成人| 午夜精品久久久久久久久久久| 欧美91视频| 午夜日韩电影| 欧美日韩在线播放三区四区| 久久精品一区二区国产| 欧美三级网址| 亚洲激情成人网| 国产精品日韩欧美大师| 亚洲美女黄网| 国产伊人精品| 亚洲免费视频中文字幕| 亚洲国产精品黑人久久久| 久久爱91午夜羞羞| 一本久道久久久| 免费在线观看精品| 香蕉亚洲视频| 国产精品久久久亚洲一区| 亚洲伦理精品| 很黄很黄激情成人| 久久aⅴ国产紧身牛仔裤| 在线视频欧美精品|