《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 一種改進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亚洲国产精品_日韩亚洲一区二区
亚洲国产成人91精品| 欧美亚洲免费电影| 国产欧美一区二区精品忘忧草| 欧美激情第10页| 久久久蜜桃精品| 欧美一级久久久| 午夜免费久久久久| 亚洲男人的天堂在线aⅴ视频| 日韩小视频在线观看专区| 亚洲春色另类小说| 欧美专区在线播放| 欧美一区三区三区高中清蜜桃| 亚洲一级高清| 中文精品99久久国产香蕉| 99综合在线| 一本久道久久综合狠狠爱| 亚洲精品一区二区三| 亚洲精品国产精品乱码不99| 91久久久久久国产精品| 亚洲国产精品专区久久| 亚洲激情影视| 亚洲人成网在线播放| 亚洲黄色三级| 亚洲免费观看高清完整版在线观看熊| 91久久精品国产91久久性色| 亚洲欧美久久久| 国产精品videossex久久发布| 韩国三级在线一区| 国产日产亚洲精品系列| 国产伦精品一区二区三区免费| 国产精品一二三| 国产日产精品一区二区三区四区的观看方式| 国产精品影片在线观看| 国产一区二区按摩在线观看| 黄色av一区| 亚洲国产成人精品久久久国产成人一区| 亚洲国产精品视频一区| 亚洲另类在线一区| 国产精品99久久久久久宅男| 亚洲欧美高清| 欧美在线综合视频| 亚洲人成艺术| 亚洲婷婷综合色高清在线| 亚洲欧美成人一区二区在线电影| 香蕉视频成人在线观看| 久久久久久久久久码影片| 麻豆av一区二区三区| 欧美日韩国产不卡在线看| 国产精品盗摄久久久| 国产视频在线观看一区二区| 在线欧美三区| 99亚洲一区二区| 校园春色综合网| 亚洲人久久久| 亚洲综合清纯丝袜自拍| 久久久久久久久久看片| 欧美人成免费网站| 国产农村妇女精品一二区| 亚洲二区视频在线| 亚洲视频电影图片偷拍一区| 午夜国产精品视频| 亚洲日本成人网| 午夜精品av| 欧美jizz19性欧美| 国产精品久久久久婷婷| 亚洲高清不卡在线| 亚洲一区二区三区在线观看视频| 久久国产一区二区| 制服丝袜激情欧洲亚洲| 久久精品日产第一区二区三区| 欧美成人一区在线| 国产麻豆91精品| 亚洲精品日产精品乱码不卡| 午夜亚洲一区| 一区二区欧美国产| 久久久久久久精| 国产精品va| 亚洲国产成人tv| 性欧美8khd高清极品| 国产精品99久久久久久久vr | 久久精品国产亚洲一区二区三区| 一区二区日本视频| 久久天天狠狠| 国产精品日韩欧美一区| 一区三区视频| 亚洲欧美电影院| 亚洲视频综合| 欧美阿v一级看视频| 国产色视频一区| 亚洲午夜精品17c| aa级大片欧美| 欧美粗暴jizz性欧美20| 国产亚洲综合精品| 亚洲视频在线一区观看| 99视频一区| 美女主播精品视频一二三四| 国产亚洲精品激情久久| 亚洲社区在线观看| 夜夜嗨网站十八久久| 欧美1区视频| 一区二区三区中文在线观看 | 在线观看福利一区| 新67194成人永久网站| 亚洲欧美经典视频| 欧美日韩在线视频一区二区| 亚洲激情综合| 亚洲美女淫视频| 麻豆av一区二区三区| 韩国女主播一区二区三区| 亚洲欧美精品| 亚洲欧美日韩综合aⅴ视频| 欧美日韩国产成人在线观看| 亚洲国产精品毛片| 亚洲激情在线观看视频免费| 久久久综合网站| 国产亚洲欧美日韩一区二区| 亚洲欧美一区二区三区极速播放 | 一色屋精品视频免费看| 久久超碰97人人做人人爱| 久久www成人_看片免费不卡 | 国产一区白浆| 亚洲欧美日韩在线一区| 香蕉成人啪国产精品视频综合网| 欧美日韩成人免费| 亚洲另类在线一区| 一区二区三区四区五区精品| 欧美日韩激情小视频| 99www免费人成精品| 亚洲一二三区精品| 国产精品二区在线| 亚洲一区二区三区在线看| 欧美一区二区高清| 国产亚洲福利社区一区| 欧美在线999| 麻豆成人综合网| 亚洲高清不卡av| 一本色道久久综合亚洲91| 欧美日韩国产在线播放| 中日韩美女免费视频网址在线观看| 亚洲一区免费观看| 国产精品视区| 欧美一区亚洲二区| 免费观看在线综合| 亚洲激情专区| 亚洲网址在线| 国产精品人人做人人爽人人添| 亚洲欧美日韩天堂| 久久午夜国产精品| 亚洲电影免费观看高清完整版在线 | 一本色道久久综合亚洲精品不卡| 欧美日韩综合在线| 亚洲午夜视频| 久久精品人人做人人爽| 在线观看不卡av| 亚洲免费观看| 国产精品99免视看9| 午夜久久影院| 免费在线看一区| 亚洲美女中文字幕| 午夜欧美大片免费观看| 国产一区二区三区免费观看| 亚洲激情精品| 欧美日韩视频专区在线播放| 亚洲欧美日韩国产中文在线| 久久只有精品| 99精品欧美一区二区蜜桃免费| 午夜亚洲性色福利视频| 一区二区三区自拍| 亚洲线精品一区二区三区八戒| 国产日产欧产精品推荐色 | 国产精品视频最多的网站| 亚洲第一偷拍| 欧美日韩成人综合天天影院| 亚洲一区免费视频| 嫩草国产精品入口| 亚洲先锋成人| 麻豆久久婷婷| 亚洲一区三区视频在线观看| 美女精品在线观看| 亚洲香蕉视频| 欧美高清不卡在线| 亚洲欧美日韩国产另类专区| 欧美成年人视频网站| 亚洲综合首页| 欧美区亚洲区| 久久精品视频在线观看| 国产精品yjizz| 91久久精品国产| 国产精品视频大全| 99v久久综合狠狠综合久久| 国产欧美日韩在线视频| 一本色道久久88综合日韩精品| 国产婷婷色一区二区三区在线| 一区二区三区久久久| 激情av一区| 午夜精品一区二区三区在线| 最新日韩精品| 久久人人爽人人爽| 亚洲午夜精品久久久久久浪潮| 欧美国产精品一区|