亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于混合密碼體制的Web用戶驗(yàn)證安全策略

        2007-01-01 00:00:00蔣巍巍
        計(jì)算機(jī)時(shí)代 2007年6期

        摘要:針對(duì)多數(shù)Web系統(tǒng)在用戶驗(yàn)證時(shí)以明文傳輸賬戶信息帶來的安全隱患,提出了一種綜合使用對(duì)稱密碼體制、非對(duì)稱密碼體制、單向散列算法和一次一密技術(shù)來保障用戶驗(yàn)證安全的策略。該方法在略微增加計(jì)算復(fù)雜度的前提下,就能夠有效防止用戶驗(yàn)證過程遭受竊聽、重放等惡意攻擊;而對(duì)現(xiàn)有Web系統(tǒng)的改進(jìn)僅涉及新用戶注冊(cè)、用戶登錄、密碼修改等操作,更新便捷。

        關(guān)鍵詞:混合密碼體制;安全;Web;用戶驗(yàn)證;加密

        0 引言

        隨著互聯(lián)網(wǎng)的發(fā)展和WWW技術(shù)的推廣應(yīng)用,Web瀏覽已經(jīng)成為廣大網(wǎng)民主要的網(wǎng)絡(luò)活動(dòng)。CNCERT/CC網(wǎng)絡(luò)安全工作報(bào)告指出,2005年Web瀏覽所消耗的帶寬位居所有網(wǎng)絡(luò)應(yīng)用之首(37.82%)。隨著WWW應(yīng)用領(lǐng)域的擴(kuò)大,Web應(yīng)用所暴露的安全問題日益增多,這其中多數(shù)Web系統(tǒng)都必備的用戶驗(yàn)證模塊就存在著重大的安全隱患。常見的Web服務(wù),比如網(wǎng)絡(luò)論壇、網(wǎng)絡(luò)博客、Web郵箱,在為用戶提供服務(wù)前,服務(wù)器都需要根據(jù)用戶輸入的賬戶信息進(jìn)行身份驗(yàn)證。然而,經(jīng)調(diào)查發(fā)現(xiàn),多數(shù)Web服務(wù)(如新浪郵箱、新華論壇、博客天下、搜狐郵件等。調(diào)查日期:2007-1-6)在對(duì)用戶身份驗(yàn)證時(shí)并沒有采取有效的保護(hù)措施,用戶的賬戶信息被直接以明文形式在網(wǎng)絡(luò)中傳送。于是,惡意攻擊者利用網(wǎng)絡(luò)嗅探技術(shù)將很容易得到他人的賬戶信息,甚至出現(xiàn)了專門的工具軟件用于竊取局域網(wǎng)中的賬戶信息。

        1 用戶驗(yàn)證的安全策略

        由于設(shè)計(jì)時(shí)未考慮安全因素,HTTP協(xié)議是以明文方式傳送數(shù)據(jù)的。因此,Web通信的安全需要通過其他路徑來解決。

        為了保證基于WWW服務(wù)的數(shù)據(jù)傳輸?shù)陌踩?,Netscape公司提出了稱為“Secure Sockets Layer”(安全套接字層,SSL)的Internet安全標(biāo)準(zhǔn)。SSL位于應(yīng)用層(如HTFP)和傳輸層(TCP)之間,為客戶機(jī)與服務(wù)器間的數(shù)據(jù)傳輸建立了加密通道。然而Web服務(wù)器在執(zhí)行SSL相關(guān)任務(wù)時(shí),吞吐量顯著下降,運(yùn)行速度比只執(zhí)行HTTP1.0連接時(shí)慢50多倍。而且,除了網(wǎng)絡(luò)銀行等少數(shù)站點(diǎn),多數(shù)Web應(yīng)用并不需要運(yùn)行SSL來為所有傳輸?shù)臄?shù)據(jù)加密。在這些Web系統(tǒng)中,可以采用綜合對(duì)稱密碼算法、非對(duì)稱密碼算法、單向散列算法和一次一密技術(shù)的混合密碼體制,在用戶驗(yàn)證所涉及的新用戶注冊(cè)、用戶登錄、密碼修改等3個(gè)操作中為賬戶的傳輸提供保密措施。

        新用戶注冊(cè)過程中,用戶輸入的賬戶信息(包括用戶名和密碼)將被安全地傳輸?shù)椒?wù)器端用戶數(shù)據(jù)庫(kù)中存儲(chǔ)。這可以通過非對(duì)稱密碼體制(比如RSA)來實(shí)現(xiàn)。服務(wù)器端在運(yùn)行初始階段生成并維護(hù)一對(duì)密鑰:公鑰用于瀏覽器對(duì)賬戶信息的加密,私鑰用于服務(wù)器端的解密。兩端的加解密分別用服務(wù)器端腳本和客戶端腳本實(shí)現(xiàn)。

        為了防止服務(wù)器端用戶數(shù)據(jù)庫(kù)中賬戶信息(主要是密碼)的泄露,可以存儲(chǔ)通過單向散列函數(shù)(比如MD5)求得的密碼的摘要信息,而非密碼本身。

        用戶登錄過程中,只要能驗(yàn)證用戶的合法性即可,不必傳輸密碼信息。服務(wù)器將當(dāng)前系統(tǒng)時(shí)間和一個(gè)隨機(jī)數(shù)傳輸給瀏覽器,瀏覽器以用戶輸入的賬戶信息為密鑰,用對(duì)稱加密算法(比如DES)對(duì)這兩個(gè)值加密后傳回服務(wù)器進(jìn)行驗(yàn)證。由于傳輸?shù)氖窍到y(tǒng)時(shí)間和隨機(jī)數(shù)的組合,實(shí)現(xiàn)了一次一密技術(shù),可以有效預(yù)防重放攻擊。

        密碼修改操作首先需要驗(yàn)證用戶現(xiàn)用密碼的正確性,然后以新密碼更新用戶數(shù)據(jù)庫(kù)。服務(wù)器將兩個(gè)參數(shù)(系統(tǒng)時(shí)間和一個(gè)隨機(jī)數(shù))傳輸給瀏覽器,瀏覽器端以現(xiàn)用密碼為密鑰,用對(duì)稱加密算法加密新密碼和服務(wù)器端傳來的兩個(gè)參數(shù)。于是服務(wù)器端可根據(jù)傳回的兩個(gè)參數(shù)值驗(yàn)證用戶后更新數(shù)據(jù)庫(kù)。

        2 用戶驗(yàn)證的實(shí)現(xiàn)細(xì)節(jié)

        Web系統(tǒng)中涉及密碼傳輸?shù)闹饕腥齻€(gè)操作:新用戶注冊(cè)、用戶登錄和密碼修改。

        2.1 新用戶注冊(cè)

        服務(wù)器端在第一個(gè)用戶注冊(cè)前生成一對(duì)密鑰:公鑰PK和私鑰SK——這對(duì)密鑰可供所有新注冊(cè)用戶使用,為安全起見,也可定期更新。瀏覽器以PK為密鑰對(duì)賬戶信息進(jìn)行加密。待密文傳輸?shù)椒?wù)器端后,服務(wù)器端即可以SK為密鑰解密并獲得賬戶信息。用戶注冊(cè)過程有以下幾個(gè)步驟:

        (1)用戶瀏覽新用戶注冊(cè)頁(yè)面(Reg),如圖1的①;

        (2)服務(wù)器端生成一個(gè)隨機(jī)數(shù)R,將R和系統(tǒng)時(shí)間T保存到當(dāng)前連接的會(huì)話Session中,并將Reg頁(yè)面(內(nèi)含T、R和PK)發(fā)送到瀏覽器,如圖1的②;

        (3)用戶輸入用戶名UN、密碼PWD,并單擊“提交”按鈕;

        (4)Reg頁(yè)的客戶端腳本以PK為密鑰采用非對(duì)稱加密算法AE將T、R、UN和PWD加密為密文:AEPK[T+R+UN+PWD];

        (5)瀏覽器將密文傳輸?shù)椒?wù)器端,如圖1的③;

        (6)服務(wù)器端將當(dāng)前時(shí)間和保存在Session中的T進(jìn)行比較,若超時(shí),則提示用戶并轉(zhuǎn)到“(2)”; (7)服務(wù)器端腳本利用SK對(duì)AEPK[T+R+UN+PWD]進(jìn)行解密,得到T’、R’、UN和PWD;

        (8)服務(wù)器端將T’和R’與Session中的T和R進(jìn)行比較。若不同,則提示失敗并轉(zhuǎn)到“(2)”;

        (9)服務(wù)器端判斷UN是否已被他人注冊(cè)使用,若已用,則提示用戶并轉(zhuǎn)到“(2)”;

        (10)服務(wù)器端將賬戶信息保存到用戶數(shù)據(jù)庫(kù),并提示用戶注冊(cè)成功。為防止用戶數(shù)據(jù)庫(kù)泄密,服務(wù)器端可將UN和PWD用單向散列算法H進(jìn)行散列,將得到的H[UN+PWD]存儲(chǔ)到密碼字段——此處包含UN是為了防止不同用戶碰巧采用同一密碼而導(dǎo)致密碼泄露。

        2.2 用戶登錄

        每當(dāng)用戶需要登錄系統(tǒng)時(shí),服務(wù)器將當(dāng)前的系統(tǒng)時(shí)間T和一個(gè)隨機(jī)數(shù)R發(fā)送給瀏覽器。瀏覽器以用戶輸入的賬戶信息為密鑰采用對(duì)稱加密算法SE對(duì)T和R進(jìn)行加密,然后將密文傳輸?shù)椒?wù)器。服務(wù)器端用數(shù)據(jù)庫(kù)中的賬戶信息將密文解密后,比對(duì)前后的T和R以驗(yàn)證用戶的合法性。詳細(xì)過程如下:

        (1)用戶瀏覽用戶登錄頁(yè)面(Login),如圖2的①;

        (2)服務(wù)器端生成一個(gè)隨機(jī)數(shù)R,將R和系統(tǒng)時(shí)間T保存到當(dāng)前連接的會(huì)話Session中,并將Login頁(yè)面(內(nèi)含T和R)發(fā)送到瀏覽器,如圖2的②;

        (3)用戶輸入賬戶信息UN和PWD;

        (4)Login頁(yè)的客戶端腳本用單向散列算法H對(duì)UN和PWD進(jìn)行散列,求得H[UN+PWD];

        (5)Login頁(yè)的客戶端腳本以H[UN+PWD]為密鑰采用對(duì)稱加密算法SE對(duì)T和R進(jìn)行加密,得到SEH[UN+PWD][T+R];

        (6)瀏覽器將密文和UN一起發(fā)送到服務(wù)器端,如圖2的③;

        (7)服務(wù)器端將當(dāng)前時(shí)間和保存在Session中的T進(jìn)行比較,若超時(shí),則提示用戶并轉(zhuǎn)到“(2)”;

        (8)服務(wù)器端根據(jù)UN在用戶數(shù)據(jù)庫(kù)中找到H[UN+PWD],以其為密鑰解密收到的密文,獲得瀏覽器傳回的數(shù)據(jù)T’和R’;

        (9)服務(wù)器端將T’和R’與Session中的T和R進(jìn)行比較,若相同則登陸驗(yàn)證通過,完成隨后的一系列工作(如在Session中保存UN),并清除Session中的T和R——以免遭受重放攻擊,若不同,則提示失敗并轉(zhuǎn)到“(2)”。

        2.3 密碼修改

        成功登錄后的用戶需要修改密碼時(shí),服務(wù)器端給瀏覽器發(fā)送當(dāng)前系統(tǒng)時(shí)間T、隨機(jī)數(shù)R和Session中的UN。瀏覽器以用戶輸入的現(xiàn)用密碼OPWD和UN為密鑰,對(duì)T、R和用戶輸入的新密碼NPWD采用對(duì)稱加密算法SE進(jìn)行加密,然后將密文傳輸給服務(wù)器。服務(wù)器通過比較前后的T和R驗(yàn)證用戶的合法性,更新用戶密碼。以下是修改密碼的過程:

        (1)用戶瀏覽修改密碼頁(yè)面(chgPwd),如圖3的①;

        (2)服務(wù)器端生成一個(gè)隨機(jī)數(shù)R,將R和系統(tǒng)時(shí)間T保存到當(dāng)前連接的會(huì)話Session中,并將ChgPwd頁(yè)面(內(nèi)含T、R和Session里的UN)發(fā)送到瀏覽器,如圖3的②;

        (3)用戶輸入現(xiàn)用密碼OPWD和新密碼NPWD;

        (4)ChgPwd頁(yè)面里的客戶端腳本用單向散列算法H對(duì)UN和OPWD進(jìn)行散列,求得H[UN+OPWD];

        (5)ChgPwd頁(yè)面里的客戶端腳本以H[UN+OPWD]為密鑰采用對(duì)稱加密算法SE對(duì)T、R和NPWD進(jìn)行加密,得到SEH[UN+OPWD][T+R+NPWD];

        (6)瀏覽器將密文發(fā)送到服務(wù)器端,如圖3的③;

        (7)服務(wù)器端將當(dāng)前時(shí)間和保存在Session中的T進(jìn)行比較,若超時(shí),則提示用戶并轉(zhuǎn)到“(2)”;

        (8)服務(wù)器端根據(jù)Session里的UN在數(shù)據(jù)庫(kù)中找到H[UN+PWD],以其為密鑰解密密文,獲得瀏覽器傳回的數(shù)據(jù)T’、R’和NPWD;

        (9)服務(wù)器端將T’和R’與Session中的T和R進(jìn)行比較,若相同則用戶合法,計(jì)算H[UN+NPWD]并更新用戶數(shù)據(jù)庫(kù),提示成功,同時(shí)清除Session中的T和R,若不同,則提示失敗并轉(zhuǎn)到“(2)”。

        3 性能分析

        3.1 安全性能分析

        用戶驗(yàn)證的安全策略至少可以應(yīng)對(duì)以下幾種攻擊:

        密碼竊聽 用戶驗(yàn)證過程中沒有明文傳輸密碼,而且在用戶登錄操作中就根本無(wú)需傳輸密碼,從而避免了密碼被竊聽的威脅。

        數(shù)據(jù)篡改 瀏覽器端傳回的密文中包含了隨機(jī)值,若數(shù)據(jù)被篡改則服務(wù)器端能在驗(yàn)證時(shí)及時(shí)發(fā)現(xiàn)。

        已知明文攻擊 用戶驗(yàn)證過程中傳輸?shù)臄?shù)據(jù)都包含了隨機(jī)值,可以避免明文數(shù)據(jù)模式的泄露。

        重放攻擊 用戶驗(yàn)證中傳輸?shù)臄?shù)據(jù)都包含了系統(tǒng)時(shí)間值,時(shí)間錯(cuò)誤和超時(shí)都不能完成操作,從而杜絕了重放攻擊的發(fā)生。

        3.2 計(jì)算性能分析

        密碼算法的引入必然會(huì)增加系統(tǒng)的計(jì)算復(fù)雜度,其中以非對(duì)稱密碼算法的復(fù)雜度最大。不過,只有新用戶注冊(cè)時(shí)需要執(zhí)行非對(duì)稱密碼算法。由于新用戶注冊(cè)操作相比用戶登錄操作要少很多,用戶驗(yàn)證的3個(gè)操作在Web系統(tǒng)整個(gè)運(yùn)行期間也只占很小的比重;而且,完成用戶驗(yàn)證后,系統(tǒng)就可按常規(guī)(明文)方式通信。因此用戶驗(yàn)證的改進(jìn)策略對(duì)Web服務(wù)的計(jì)算性能影響不大。

        4 結(jié)束語(yǔ)

        綜合了多種密碼學(xué)技術(shù)的Web用戶驗(yàn)證策略可以有效解決存在于現(xiàn)今多數(shù)Web服務(wù)中的賬戶信息安全隱患。不僅如此,還可以借鑒這一策略來實(shí)現(xiàn)Web服務(wù)中其他一些敏感數(shù)據(jù)的安全傳輸。當(dāng)然,該方法只是解決了賬戶信息明文傳輸可能造成的威脅,并沒有涉及驗(yàn)證通過后的訪問安全性。而且Web服務(wù)還存在其他一些安全問題,比如用戶登錄成功后,系統(tǒng)一般利用Session中的數(shù)據(jù)來識(shí)別用戶的合法性,因此,存在會(huì)話被第三方劫持等威脅。這些卻需要通過其他技術(shù)解決。

        久久ri精品高清一区二区三区| 国产成人亚洲精品77| 六月婷婷国产精品综合| 欧洲亚洲视频免费| 一区二区三区观看在线视频| 亚洲精品中文字幕一二三区| 东北老女人高潮大喊舒服死了| 成人亚洲性情网站www在线观看| 亚洲五月婷婷久久综合| 国产一区二区视频在线看| 国产精品黑丝高跟在线粉嫩 | av色综合网站| 伊人久久综合狼伊人久久| 99人中文字幕亚洲区三| 国产人妻久久精品二区三区老狼| 91精品视品在线播放| 免费福利视频二区三区| 中文字幕乱码日本亚洲一区二区| 日韩日韩日韩日韩日韩日韩| 少妇无码一区二区三区| 久久亚洲日本免费高清一区| 伊人婷婷综合缴情亚洲五月 | 美女一区二区三区在线视频| 老鲁夜夜老鲁| 精品国产人成亚洲区| 亚洲国产成人手机在线电影| 亚洲国产大胸一区二区三区| 久久国产成人精品av| 亚洲人成绝费网站色www| 中文字幕第一页亚洲观看| 麻豆国产精品伦理视频| 97在线视频人妻无码| 亚洲色欲久久久久综合网| 国内精品久久久久久久亚洲| 国产视频一区二区三区在线看| 亚洲精品无码精品mv在线观看| 国产精品成人国产乱| 久久人人做人人妻人人玩精| 亚洲天堂av中文字幕| 久久国产劲爆∧v内射| 日本免费人成视频播放|