999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于口令的安全用戶認證模型

2010-01-20 01:44:00李云超
現代電子技術 2009年21期
關鍵詞:數據庫用戶模型

黃 偉 孟 博 李云超

摘 要:對基于口令的訪問控制進行研究,應用DES,SHA-512和Diffe-Hellman密鑰交換協議,提出一個基于口令的安全用戶認證模型。此模型可以抵抗中間人攻擊、重放攻擊、字典攻擊和拒絕服務攻擊,同時還能提供完善向前保密。基于提出的安全用戶認證模型應用HOOK技術,給出了一個基于C/S方式的原型實現。

關鍵詞:訪問控制;身份認證;弱口令;哈希函數;HOOK;DES;Diffe-Hellman密鑰交換協議

中圖分類號:TP309 文獻標識碼:A

文章編號:1004-373X(2009)21-079-04

Secure User Authentication Model Based on Password

HUANG Wei,MENG Bo,LI Yunchao

(College of Computer,South-Central University for Nationalities,Wuhan,430074,China)

Abstract:Access control based on the password is researched,a secure user authentication model with DES,SHA-512 and Diffe-Hellman key exchange protocol is proposed.This model not only prevents MiM attack,replay attack,guess password attack and denial of service attack,but also provides the perfect forward secrecy.A C/S-based prototype is developed with hook technology.

Keywords:access control;identity authentication;weak password;Hash function;HOOK;DES;Diffe-Hellman key exchange

隨著網絡在人們生活中的不斷深入,網絡安全越來越受到人們的關注。身份認證是網絡安全中最令人關心的熱點問題之一。通常,用戶在使用網絡服務前必須向認證服務器提供一個對應的身份標識以及相應的秘密信息用于身份認證,網絡服務提供商根據認證結果決定是否提供所需的網絡服務及用戶權限。目前網絡應用大致利用以下三種類型的秘密信息實現身份認證機制:用戶擁有的,比如利用智能IC卡存放一個足夠大的秘密隨機數(128/256 b)進行身份認證;用戶知道的,比如用戶利用自選的口令進行身份認證;用戶的特征,比如用戶用自身的生物特征,例如指紋、聲紋、視網膜、臉型等進行身份認證。在這三類機制中,由于成本最低、實施方便使得基于口令的認證方式應用最為廣泛。

1 相關工作

目前主要應用兩種口令管理方式來增強口令的安全性:一種是一次口令(OneTime Password,OTP)的方式[1,2];另外一種是基于Hash函數的口令管理方式。對于一次口令的方式中用戶在每次認證的時候,所提交的認證信息都是不同的,使整個認證過程更加安全,從而能夠較好地應用在Internet環境下。但這樣的OTP認證系統每隔一段時間需要用戶重新初始化系統,這使得服務器的額外開銷比較大;另外,用戶在認證時需要進行多次Hash運算,在應用上也不夠方便。

目前的研究熱點主要集中在基于Hash函數的口令管理方式上,此方式的特點是真正的口令是由Hash函數計算產生,如Gabber等提出的LPWA[3],Ross等提出的PwdHash[4],Halderman等提出的Password Multiplier[5]和Yee等提出的Passpet[6]方案。LPWA和PwdHash方案都是將用戶主口令和站點域名的Hash值作為真正的賬號口令。這兩個方案解決了多個口令的維護問題,但由于Hash函數的運算速度很快,它們容易遭到暴力破解。Password Multiplier和Passpet方案首先用主口令和用戶信息經過多次執行Hash運算得到中間變量v,并保存在本地主機上,然后使用主口令、v和Web站點域名多次執行Hash運算得到賬號對應的口令,兩次計算中都執行迭代Hash運算,增加了計算的時間復雜度,提高了暴力破解的難度。以上基于Hash函數的方案存在明顯的安全漏洞,只要攻擊者攻破主口令,就可以計算出用戶的所有賬號口令,并且用戶不能修改單個賬號的口令。

Gajek等[7]提出應用每個用戶使用高熵的口令并且不同的帳號使用不同的口令的方法來增強口令的強度,但沒有解決用戶需要記憶多個口令的問題,并且實現方法復雜。Bruce Schneier提出的Password Safe方案[8],將用戶所有的帳號和對應的口令存儲在經Twofish加密算法加密的口令庫中,用戶只需要記憶訪問口令庫對應的主口令就能管理所有的口令,但將口令文件存儲在本地磁盤上,非常容易被竊取和破壞,因此不但沒有增強口令的強度和安全性,反而增加了口令的不安全因素。

本文在挑戰/響應的基礎上,結合Hash函數的口令管理技術和隧道技術提出了一個基于口令的安全用戶認證模型。

2 提出的基于口令的安全用戶認證模型

應用Diffe-Hellman密鑰交換協議,DES和SHA-512提出了一個基于口令的安全用戶認證模型,如圖1所示。此模型既能夠抵抗中間人攻擊,重放攻擊,字典攻擊和拒絕服務攻擊,同時還能提供完善向前保密。在此模型中客戶端連接器和服務器端連接器使用彼此的公鑰加密Diffe-Hellman交換參數以抵抗中間人攻擊;抵抗重放攻擊通過在客戶端連接器和服務器端連接器使用挑戰/響應方式進行會話密鑰建立;引入口令處理器以增加口令的強度,同時在服務器端引入“掛起”機制以抵抗字典攻擊;抵抗拒絕服務攻擊通過應用Email Server用于接受服務器發送過了的激活碼;為了提供完善向前保密,客戶端連接器和服務器端連接器在創建隧道時隨機選擇秘密指數,隧道創建成功后就將秘密指數刪除。

圖1 基于口令的安全登陸模型

提出的模型主要包含:登陸模塊,口令處理器模塊,連接器模塊,數據庫模塊,Email Server模塊。

用戶通過登陸模塊輸入“用戶名”和“口令”,登陸模塊將“用戶名”和“口令”傳給口令處理器模塊處理,連接器模塊將“用戶名”和處理過的“口令”通過隧道方式傳給數據庫,數據庫將處理后的結果返回給連接器,然后通過隧道將結果返回給登陸模塊。各模塊的功能如下:

登陸模塊:與用戶實現交互的界面,向其他模塊提出請求,并顯示其他模塊的響應。

口令處理器模塊:用戶注冊和修改口令時,主動檢查用戶的口令;用戶登陸時,加密用戶的口令。

由于一般的用戶往往會選擇短的、有意義的字母組合或日常生活中常用的號碼作為口令以方便記憶,而這些類型的口令數是有限的,因此攻擊者可以利用電腦將所有可能的口令存放在字典中,然后快速地遍歷字典進行反復猜測與比對,并在很短的時間內就有可能猜出一個用戶的口令。

主動的口令檢查在用戶注冊和試圖修改口令的時候就進行。這樣就可以有效地消除脆弱的,易被破解的口令。主動的口令檢查對時間和資源也沒有太大的消耗,因為其檢查的過程不是一個破解的過程,而是利用口令本身檢查其脆弱性的過程[9]。

登陸時用戶的口令被當作DES的密鑰用以加密用戶名和口令的Hash值,為了提高安全性這里建議Hash算法使用SHA-512。加密算法被重復25次,得出結果中包含了11個字符長的字符串和兩個字符的“Salt”。在系統校驗用戶口令時,系統把經過加密后的口令與Password表中存儲的加密字串進行比較,如果相同則證明用戶輸入的口令正確。

連接器模塊:為模塊之間的通信提供加密解密功能。在模塊之間建立隧道,提供相互認證,分配會話密鑰和PFS。g和p是公共的Diffe-Hellman參數,a是A選擇的秘密指數,b是B選擇的秘密指數。

(1) 連接器A向連接器B發送質詢RA;

(2) 連接器B收到質詢RA,計算gbmod p,并將計算結果和RA一起用A的公鑰加密,B再對加密結果{RA,gbmod p}A進行簽名操作,并將運算結果[{RA,gbmod p}A]B和質詢RB一起發送給連接器A;

(3) 連接器A將收到結果進行解密,得到質詢RB,質詢RA和gbmod p ,A計算gamod p,并將計算結果和RB一起用B的公鑰加密,A再對加密結果{RB,gamod p}B進行簽名操作,并將運算結果[{RA,gbmod p}B]A發送給連接器B;

(4) 連接器B將收到結果進行解密,得到質詢RB和gamod p;

(5) 連接器A和B各自計算gabmod p,得到共享的會話密鑰K,隧道建立成功。

數據庫模塊:存儲用戶的相關信息。

數據庫中包含Users,Password和Faillog表。這三個表解決了文獻[10]中提到的如何既能防止字典攻擊,又能防止拒絕服務攻擊的問題。Users表通過訪問Password表獲得用戶的口令;Password表只能被Users表訪問,提高口令的安全性;Faillog表記錄用戶登陸失敗的情況,設置一個閾值,與閾值比較,超過閾值將該用戶掛起不允許該用戶再次登陸,這樣可以完全抵制字典攻擊;并將一個生成的激活碼發送給該用戶的Email中,以便用戶再次激活帳號,這樣可以抵制拒絕服務攻擊。三個表的關系如圖2所示。

圖2 表間的訪問關系

下面給出這三個表的具體的結構。

Users表用來記錄用戶登陸時認證和授權的信息,其結構如下:

用戶名連接Password用戶標識組標識狀態激活碼

用戶名:標識一個惟一用戶,設為主碼,這里用用戶的郵箱地址作為用戶名。

連接Password:用來連接Password表,存取用戶的口令。

用戶標識:標識用戶的安全級別。只有當用戶的安全級別高于文件的安全級別時才可以對文件有“讀”訪問權[10]。

組標識:標識用戶所屬的組。

狀態:標識用戶帳戶的有效性。有兩個狀態:“有效”和“掛起”。它能完全杜絕字典攻擊。

激活碼:激活用戶帳戶,能防止拒絕服務攻擊。

Password表用來記錄用戶的口令,只能由Users表來連接調用和讀取,對其他任何操作透明。其結構如下:

用戶名口令

用戶名:同表1的“用戶名”字段。

口令:這里實際存儲的是加密后的口令。

Faillog表用來記錄用戶用戶登陸時的一些相關信息,其結構如下:

用戶名次數時間

用戶名:同表1的“用戶名”字段。

次數:統計用戶登陸失敗的次數。

時間:記錄最近一次登陸失敗時間。

在此安全模型中另外還包括例外處理模塊,各例外處理模塊的功能如下:

用戶名不存在例外處理模塊:向調用模塊返回“用戶名不存在”,并進行相應處理。

狀態無效例外處理模塊:向調用模塊返回“狀態無效”,要求用戶輸入激活碼,并與Users表中該用戶的“激活碼”字段比較,相等時激活用戶的帳號。

密碼不正確例外處理模塊:向調用模塊返回“密碼不正確”,并進行相應處理。

Email Server:用于接受數據庫發送過來的激活碼,可以防止拒絕服務攻擊。

3 基于C/S方式的原型實現

本文提出的基于口令的安全用戶認證模型的實現可以采用B/S方式,也可以采用C/S方式。在此給出一個基于C/S結構的原型實現,如圖3所示,客戶端包含登陸模塊,口令處理模塊和連接器模塊;服務器端包含連接器模塊和數據庫。

圖3 基于C/S方式的原型實現

3.1 用戶注冊

用戶輸入注冊名,連接器A使用會話密鑰K加密用戶名并將結果發送給連接器B,B使用會話密鑰K解密將結果發送給數據庫,數據庫檢查用戶名是否存在,并將檢查結果返回;用戶名通過檢測,用戶輸入口令;口令處理器主動檢查輸入口令,不允許弱口令通過;口令通過檢測,口令處理器對口令加密,連接器A使用會話密鑰K對用戶名和加密后的口令進行加密,并發送到連接器B;連接器B使用會話密鑰K解密得到用戶名和加密過的口令,將用戶名和加密過的口令發送給數據庫,數據庫將用戶的相關信息添入表中。

3.2 用戶登陸

用戶登陸時,過程如下:

(1) 用戶在登陸模塊中輸入用戶名和口令;

(2) 口令處理器加密口令;

(3) 用戶名和加密過的口令通過隧道傳給數據庫;

(4) 數據庫驗證用戶

① 在Users表中查找,如果用戶名存在并且狀態為“有效”,則進入下一步;如果用戶名不存在,轉向用戶名不存在例外處理模塊;如果用戶名存在但是狀態為“掛起”,則轉向狀態無效例外處理模塊。

② 通過連接Password字段,連接Password表。在Password中查找用戶名所對應的口令進比較如果相等進入第(5)步;否則進入下一步。

③ 在Faillog表查找用戶名對應的記錄。記錄此次登陸失敗的時間。將登陸失敗次數加1,比較是否超過最大限制次數。如果超過進入下一步;否則,轉向密碼不正確例外處理模塊。

④ 將Users表中用戶的狀態字段改為“掛起”。通過Faillog表中用戶最近一次登陸失敗時間生成一個激活碼(用于激活用戶帳號),存儲到Users表中用戶對應的“激活碼”字段并發送到用戶的郵箱中,轉向狀態無效例外處理模塊。

(5) 驗證通過,通過Users表對用戶進行初始化。

在客戶端使用HOOK(鉤子)技術來加強登陸的安全性。

鉤子函數實際上是一個處理消息的程序段,每當一個應用程序調用函數GetMessage或PeekMessage而恰有一個消息即將被處理時,系統調用鉤子函數。也就是說,當特定的消息發出,在沒有到達目的窗口前,鉤子函數先捕獲消息,亦即鉤子函數先獲得控制權。這時鉤子函數既可以加工處理該消息,也可以不作處理而繼續傳遞消息,還可以強制結束消息傳遞。系統為每種類型的鉤子維護一個鉤子鏈,最近安裝的鉤子放在鏈的開始,而最先安裝的鉤子放在最后,也就是后加入的鉤子先獲得控制權。

由于最后安裝的鉤子總是放在最前,也就是最先獲得對消息的控制權。為此可以在客戶端每次登陸時,安裝鍵盤鉤子,鉤子截取用戶輸入的用戶名和口令,發送給口令處理模塊和連接器模塊,登陸成功后卸載鍵盤鉤子。由鉤子函數來阻斷鍵盤消息在鉤子鏈中的傳遞,將消息直接發送給消息接受窗口。本模型創建鉤子的核心代碼如下:

創建一個鍵盤線程鉤子WH_KEYBOARD,在登陸窗口中SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyboardProc,hInst,GetCurrentThreadId());

鉤子處理函數KeyboardProc如下:

LRESULT CALLBACK _stdcall KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)

{

if((nCode<0)||nCode==HC_NOREMOVE)

return CallNextHookEx(hook,nCode,0,0);

else if(hWnd!=NULL)

SendMessage(hWnd,WM_KEYINFO,0,0);

return CallNextHookEx(hook,nCode,0,0);

}

登陸成功后UnhookWindowsHookEx(hook);

4 結 語

身份認證是網絡安全中熱點問題之一,本文對基于口令的安全用戶認證模型進行研究,應用DES,SHA-512和Diffe-Hellman密鑰交換協議提出一個能夠有效抵抗中間人攻擊,重放攻擊,字典攻擊和拒絕服務攻擊,同時能提供完善向前保密的安全用戶認證模型,并且進行了安全性分析。最后給出了一個基于C/S結構的原型實現。

參考文獻

[1]Lamport L.Password Authentication with Insecure Communication[J].Communications of the ACM,1981,24(11): 770-772.

[2]Haller N.The S/KEY One-Time Password System.RFC1760.1995.

[3]Gabber E,Gibbons P B,Matias Y,Mayer A.How to Make Personalized Web Browsing Simple,Secure and Anonymous [J].Proceedings of Financial Cryptography′97,Anguilla:Springer-Verlag,1997:17-31.

[4]Ross B,Jackson C,Miyake N,et al.Stronger Password Authentication Using Browser Extensions[A].Proceedings of the 14th USENIX Security Symposium.2005:17-32.

[5]Halderman J A,Waters B,Fehen E W.A Convenient Method for Securely Managing Passwords[A].Proceedings of the 14th International Conference on World Wide Web.Chiba:ACM Press,2005:471-479.

[6]Yee K P,Sitaker K.Passpet:Convenient Password Management and Phishing Protection[A].Proceedings of the Second Symposium on Usable Privacy and Security.New York:ACM ,2006:32-43.

[7]Gajek S,Sadeghi A R,Stuble C,et al.Compartmented Security for Browsers-or How to thwat a phisher with trusted computing[A].Proceedings of the 2nd International Conference on Availability,Reliability and Security.Washington DC:IEEE Computer Society,2007:120-127.

[8]Schneier B.Password Safe[EB/OL].http://www.schneier.com/passsafe.html.

[9]董光宇,高安全等級操作系統及網絡服務的標識鑒別機制[D].北京:中科院軟件所,2002.

[10]Mark Stamp.Information Security:Principles and Practice[M].Wiley,2006.

猜你喜歡
數據庫用戶模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 久久美女精品| 久久精品国产电影| 真实国产乱子伦高清| 精品中文字幕一区在线| 亚洲色图欧美| 国产在线观看91精品| 美女啪啪无遮挡| 中文字幕在线欧美| 亚洲首页在线观看| 国产美女自慰在线观看| 中文字幕乱码二三区免费| 欧美一道本| 99爱在线| 精品一区二区三区自慰喷水| 亚洲男人天堂网址| 99视频在线免费| 欧美午夜在线视频| 免费人成在线观看成人片 | 国产精品一区在线观看你懂的| 中国一级特黄视频| 国产精品成人免费综合| a欧美在线| 一级爆乳无码av| 波多野结衣无码中文字幕在线观看一区二区 | 久久亚洲中文字幕精品一区| 在线免费亚洲无码视频| 54pao国产成人免费视频| 国产日本视频91| 国产99视频精品免费观看9e| 久久精品午夜视频| 色综合手机在线| 无码高潮喷水专区久久| 国产精品香蕉| 国产一级毛片网站| 欧美日韩国产成人高清视频 | 3344在线观看无码| 亚洲视频三级| 九九热精品视频在线| 狠狠色成人综合首页| 国产v精品成人免费视频71pao| 国产在线视频二区| 亚洲国产日韩一区| 制服丝袜 91视频| 亚洲丝袜第一页| 一区二区三区在线不卡免费| 国产全黄a一级毛片| 在线看免费无码av天堂的| 人妻免费无码不卡视频| 久久久久久国产精品mv| 欧美成人亚洲综合精品欧美激情| 久久伊人操| 福利姬国产精品一区在线| 国语少妇高潮| 99国产在线视频| 91po国产在线精品免费观看| 国产在线一区视频| 日韩在线视频网站| 国产噜噜噜| 伊人久久精品无码麻豆精品| 欧美成人午夜影院| 精品亚洲欧美中文字幕在线看| 国产91无毒不卡在线观看| 精品亚洲麻豆1区2区3区| 欧美一级大片在线观看| 国产在线精彩视频论坛| 99er这里只有精品| 男人的天堂久久精品激情| 国产Av无码精品色午夜| 成人精品视频一区二区在线| 伦伦影院精品一区| 国产午夜一级毛片| 东京热一区二区三区无码视频| 狠狠色丁婷婷综合久久| 国产欧美视频在线| 国产麻豆另类AV| 日韩精品高清自在线| 欧美中文字幕在线二区| 人妻无码AⅤ中文字| 欧美亚洲国产一区| 狠狠色综合网| 91欧洲国产日韩在线人成| 欧美中文一区|