韓 霖 張燁青 金健宇 方丹丹
(對外經(jīng)濟(jì)貿(mào)易大學(xué)信息化管理處 北京 100029)
?
高校信息平臺用戶口令安全策略研究
韓 霖 張燁青 金健宇 方丹丹
(對外經(jīng)濟(jì)貿(mào)易大學(xué)信息化管理處 北京 100029)
(hanlin@uibe.edu.cn)
研究了高校信息平臺用戶口令安全策略,通過分析口令在創(chuàng)建、存儲和傳輸過程中面臨的威脅以及口令策略存在的脆弱性,并結(jié)合攻擊者為了竊取用戶口令可能采取的攻擊手段,設(shè)計了基于挑戰(zhàn)應(yīng)答和加鹽哈希運(yùn)算的動態(tài)混合加密策略,實(shí)現(xiàn)口令在傳輸與存儲過程中一律不以明文存在,在密文層次實(shí)現(xiàn)一次一密且運(yùn)算不可逆,為用戶提供口令明文不會被竊取的安全的認(rèn)證過程.最后提出了在口令管理和用戶習(xí)慣上的一些建議,作為利用技術(shù)手段保護(hù)用戶口令的補(bǔ)充.
高校;信息平臺;口令;傳輸;哈希;挑戰(zhàn)應(yīng)答
隨著計算機(jī)技術(shù)和高校信息化建設(shè)的發(fā)展,信息平臺成為高校信息共享、發(fā)布通知以及師生交流的重要載體,各用戶具有與其身份對應(yīng)的權(quán)限,并且每個用戶在平臺中都有與個人相關(guān)的大量信息,包括一些隱私信息.存在的威脅是一旦用戶的口令泄露,高權(quán)限用戶的權(quán)限將被利用獲取更多其他信息或者進(jìn)行惡意操作等,普通用戶也會面臨個人信息或隱私的泄露,可能會繼續(xù)遭受社會工程學(xué)攻擊等.所以保護(hù)好高校信息平臺用戶口令是用戶認(rèn)證的核心環(huán)節(jié),也是高校信息化建設(shè)中非常重要的一部分[1].
在建設(shè)高校信息平臺過程中,往往更加重視平臺的各項功能模塊的開發(fā),以滿足學(xué)校各部門和廣大師生使用的需求[2],用戶口令的保存和傳輸往往設(shè)計得比較簡單,導(dǎo)致脆弱性大大增加,無法應(yīng)對口令的創(chuàng)建、存儲和傳輸?shù)冗^程中面臨的威脅[3].如圖1所示,攻擊者在網(wǎng)絡(luò)中可以對數(shù)據(jù)進(jìn)行竊聽,實(shí)施重放攻擊、中間人攻擊、SQL注入、碰撞口令以及暴力破解等眾多攻擊行為.
圖1 面臨的攻擊
關(guān)于口令在創(chuàng)建、存儲和傳輸中面臨的威脅,具體分析如下:
1) 口令的創(chuàng)建
如果開放自由注冊新用戶,那攻擊者可以隨意注冊用戶并登錄以獲得更多應(yīng)用系統(tǒng)相關(guān)信息來降低攻擊難度,而對于高校信息平臺的用戶群體來說是相對比較固定的,所以每位教職工和學(xué)生都由管理員統(tǒng)一批量建立新用戶,同時不開放注冊,如此防止了不合法用戶的存在,通過工號學(xué)號來識別用戶也方便管理.
2) 口令的存儲
口令的存儲通常是在數(shù)據(jù)庫中,面臨的威脅分別來自Web前端、數(shù)據(jù)庫軟件、數(shù)據(jù)庫運(yùn)行所在的服務(wù)器操作系統(tǒng)以及數(shù)據(jù)庫設(shè)計等方面.Web代碼的不安全編寫會導(dǎo)致注入等漏洞,被攻擊者利用后可以獲得甚至修改數(shù)據(jù)庫中的信息,造成用戶數(shù)據(jù)泄露破壞了數(shù)據(jù)庫的保密性.數(shù)據(jù)庫軟件自身的漏洞和操作系統(tǒng)的漏洞同樣會造成數(shù)據(jù)泄露甚至導(dǎo)致數(shù)據(jù)庫不能提供服務(wù)等,破壞其可用性和完整性.口令數(shù)據(jù)在存儲時,由于設(shè)計的失誤如果以明文方式存儲,在數(shù)據(jù)庫信息泄露的情況下會造成更大的損失.
3) 口令的傳輸
用戶在Web頁面上輸入口令登錄信息平臺,瀏覽器向服務(wù)器提交的數(shù)據(jù)包中包含用戶的相關(guān)信息.其中口令部分?jǐn)?shù)據(jù)的傳輸形式如果是以明文形式傳輸,那么在網(wǎng)絡(luò)被攻擊且數(shù)據(jù)包被截獲的情況下攻擊者可以直接獲得用戶的口令.而利用https來加密傳輸口令時雖然增加了安全性,但是在攻擊者利用中間人攻擊進(jìn)行欺騙時仍可獲得用戶口令.開發(fā)者也可用加密和哈希算法對口令進(jìn)行處理,再在網(wǎng)絡(luò)中傳輸,但是加密和哈希算法在Web前端的代碼中是可以被發(fā)現(xiàn)的,攻擊者通過對代碼的分析可以通過解密和查詢彩虹表的方法來還原出用戶口令.
由于口令的創(chuàng)建過程經(jīng)過嚴(yán)格的控制后用戶是固定的,所以主要的安全問題和需要改進(jìn)的環(huán)節(jié)在于口令的傳輸和存儲,針對2個環(huán)節(jié)中的各個攻擊面,本文設(shè)計了一套動態(tài)混合加密策略,使得攻擊者在獲取包含口令信息的網(wǎng)絡(luò)數(shù)據(jù)包時也無法還原出口令明文,并且即使竊取到數(shù)據(jù)庫中包含口令的內(nèi)容后也無法還原出口令明文.主要利用到的是哈希算法和挑戰(zhàn)應(yīng)答機(jī)制[4-5].
1) 使用哈希保存口令的一般方案
哈希算法是一種單向的函數(shù).它可以把任意數(shù)量的數(shù)據(jù)轉(zhuǎn)換成固定長度的“指紋”,這個過程是不可逆的.而且只要輸入發(fā)生改變,哪怕只有一個bit,輸出的哈希值也會有很大不同.這種特性恰好適合用來保存口令.因?yàn)槲覀兿M褂靡环N不可逆的算法來加密保存的口令,同時又需要在用戶登錄時驗(yàn)證口令是否正確.
在一個使用哈希的賬號系統(tǒng)中,用戶注冊和認(rèn)證的大致流程如下:
① 創(chuàng)建用戶的賬號.
② 用戶口令經(jīng)過哈希操作之后存儲在數(shù)據(jù)庫中.沒有任何明文的口令存儲在服務(wù)器的硬盤上.
③ 用戶登錄時,將用戶輸入的口令進(jìn)行哈希操作后與數(shù)據(jù)庫里保存的口令哈希值進(jìn)行對比.
④ 如果哈希值完全一樣則認(rèn)為用戶輸入的口令是正確的.否則就認(rèn)為用戶輸入了無效的口令.
⑤ 每次用戶嘗試登錄時就重復(fù)步驟③和④.
在步驟④時不要告訴用戶是賬號還是口令錯誤.只需要顯示一個通用的提示,比如賬號或口令不正確就可以.這樣可以防止攻擊者枚舉有效的用戶名.
2) 哈希加鹽技術(shù)
圖2 動態(tài)混合加密
直接保存口令的哈希值容易遭受多種攻擊,包括字典和暴力破解攻擊、查表攻擊、反向查表攻擊以及彩虹表攻擊等.查表和彩虹表的方式之所以有效是因?yàn)槊恳粋€口令都是通過同樣的方式來進(jìn)行哈希的.如果2個用戶使用了同樣的口令,那么他們的口令哈希也一定相同.引入加鹽技術(shù)后使用相同口令的用戶其口令的哈希值是不同的,具體的操作就是給口令加一個隨機(jī)的前綴或者后綴,然后再進(jìn)行哈希.這個隨機(jī)的后綴或者前綴即為“鹽”.
3) 本方案中的哈希加鹽
利用哈希加鹽技術(shù),存儲在數(shù)據(jù)庫中的口令信息為用戶名與口令字符串相接后再進(jìn)行哈希計算的結(jié)果.在這里哈希計算的對象不是單純的口令字符串,而是將用戶名與口令拼接后的較長的字符串,其作用是防止在數(shù)據(jù)庫泄露時攻擊者可以通過彩虹表來查詢出口令哈希值對應(yīng)的明文.明文長度由于用戶名的加入而變長,那么能夠查詢出明文則需要彩虹表數(shù)據(jù)庫的規(guī)模大大超出攻擊者或組織所能實(shí)現(xiàn)的計算量.
4) 本方案中的挑戰(zhàn)應(yīng)答
在用戶打開登錄頁面時會收到服務(wù)器生成的一個隨機(jī)字符串,該字符串在每個用戶每次建立登錄的網(wǎng)絡(luò)連接時都不相同.此機(jī)制可以防止重放攻擊和中間人攻擊,攻擊者在截獲包含登錄信息的網(wǎng)絡(luò)數(shù)據(jù)包后,如果進(jìn)行重放攻擊,那么提交的加密結(jié)果一定不是通過服務(wù)器發(fā)送給攻擊者的新隨機(jī)字符串計算得到的,而是由舊隨機(jī)字符串計算而來,那么在服務(wù)器端必然不能匹配成功.而進(jìn)行中間人攻擊時,攻擊者只能截獲用戶單次登錄產(chǎn)生的口令密文和通信的信息,無法通過逆運(yùn)算來獲得口令明文.在客戶端先通過用戶名和口令拼接的字符串計算哈希值,得到的32 b結(jié)果與隨機(jī)字符串拼接后再進(jìn)行哈希運(yùn)算,在服務(wù)端則直接用數(shù)據(jù)庫存儲的哈希值與隨機(jī)字符串拼接后進(jìn)行哈希運(yùn)算用于與用戶提交密文進(jìn)行比對.由于隨機(jī)字符串的加入,在32 b哈希值的基礎(chǔ)上再次增加了哈希運(yùn)算的輸入字符串的長度,同樣使得攻擊者由于計算量成本過高而無法實(shí)現(xiàn)破譯.
如圖2所示,在服務(wù)器的數(shù)據(jù)庫中存在口令的哈希值t_h字符串,當(dāng)用戶打開登錄頁面時客戶端向服務(wù)器發(fā)出登錄請求,服務(wù)端生成隨機(jī)的t_r字符串,并發(fā)送給客戶端.用戶在客戶端輸入的用戶名和口令分別是t_u和t_p,通過式(1)計算得到哈希值t_h′,再通過式(2)計算得到哈希值t_h_r′,作為用戶登錄口令的密文發(fā)送至服務(wù)端.在服務(wù)端則通過式(3)計算得到哈希值t_h_r,并將其與接收到的t_h_r′進(jìn)行對比,如果相同則可以證明用戶知道正確的口令,并且是通過正確的隨機(jī)字符串進(jìn)行運(yùn)算得到正確的密文,可以允許登錄.
t_h′=Hash(t_u+t_p),
(1)
t_h_r′=Hash(t_h′+t_r),
(2)
t_h_r=Hash(t_h+t_r).
(3)
從技術(shù)角度對口令進(jìn)行保護(hù)的同時,也要在口令的管理和用戶習(xí)慣上加強(qiáng)安全意識來作為補(bǔ)充,以防口令在技術(shù)之外的其他途徑泄露.
首先,對于批量創(chuàng)建的新用戶,其口令不應(yīng)設(shè)置為相同的初始口令,否則在用戶本人登錄之前,可能有惡意嘗試登錄的行為,據(jù)不完全統(tǒng)計,在廣大師生中存在大量長時間未首次登錄或者登錄后不更改口令的現(xiàn)象.所以初始口令應(yīng)設(shè)置為與本人相關(guān)的個性化字符串,例如身份證指定的某幾位,并且首次登錄后要強(qiáng)制修改口令.
其次,如果口令過于簡單,那么攻擊者可以通過暴力嘗試以很少的時間代價得到用戶口令,所以在口令的強(qiáng)度上也要進(jìn)行限制,口令要達(dá)到一定的長度以上,并且包含字母和數(shù)字甚至符號.
再次,要建議用戶在設(shè)置口令時盡量不與其他賬戶共用相同口令,并且不要使用個人相關(guān)信息中容易被他人獲得到的部分作為口令,以防攻擊者猜測成功.
口令作為個人信息保密非常重要的一道關(guān)卡應(yīng)該受到極大的重視,理想的狀態(tài)是口令明文只有所有者所知,其他任何位置都不存在,進(jìn)行記錄和認(rèn)證的只是口令的密文,并且不可用同一密文進(jìn)行登錄,也不能從密文恢復(fù)出明文.為了實(shí)現(xiàn)這個目標(biāo)不僅從技術(shù)上進(jìn)行處理,在口令管理和用戶的安全習(xí)慣上也要加強(qiáng).隨著技術(shù)的不斷發(fā)展,將來可能會出現(xiàn)更多先進(jìn)的破解和攻擊技術(shù),這就需要我們不斷學(xué)習(xí)和加強(qiáng)安全防護(hù),更好地保護(hù)口令及信息的安全.
[1]謝瑾, 劉凡保, 謝濤. 網(wǎng)絡(luò)用戶賬號密碼安全問題調(diào)查[J]. 信息安全與技術(shù), 2015 (3): 3-6, 10
[2]朱傲男, 周坤. 企業(yè)管理信息系統(tǒng)建設(shè)的密碼安全策略[J]. 山東電力技術(shù), 2010 (6): 78-80
[3]姚曉津, 彭湯靜, 詹東東, 等. 新時期企業(yè)安全管理信息系統(tǒng)的實(shí)現(xiàn)策略探究[J]. 電腦與電信, 2015 (3): 82-84
[4]蔣巍巍, 沈鑫, 傅川. 基于混合密碼體制的Web用戶驗(yàn)證安全策略[J]. 計算機(jī)時代, 2007 (6): 20-22
[5]黃朝陽, 徐穎. 一種改進(jìn)的基于挑戰(zhàn)/應(yīng)答機(jī)制的動態(tài)口令認(rèn)證方案[J]. 中國科技信息, 2009 (4): 103-105
韓 霖
碩士研究生,助理工程師,主要研究方向?yàn)樾畔踩④浖こ?
hanlin@uibe.edu.cn
張燁青
碩士研究生,助理工程師,主要研究方向?yàn)橛嬎銠C(jī)技術(shù)、信息安全.
zhangyeqing@uibe.edu.cn
金健宇
碩士研究生,助理工程師,主要研究方向?yàn)橛嬎銠C(jī)技術(shù)、大數(shù)據(jù).
jinjianyu@uibe.edu.cn
方丹丹
碩士研究生,工程師,主要研究方向?yàn)榻逃夹g(shù)、大數(shù)據(jù).
fdd@uibe.edu.cn
Research on Security Policy of Information Platform User’s Password in University
Han Lin, Zhang Yeqing, Jin Jianyu, and Fang Dandan
(DepartmentofInformationManagement,UniversityofInternationalBusinessandEconomics,Beijing100029)
This paper studies university information platform user password security policies, by analyzing the threats and vulnerabilities faced in the process of password creation, storage and transmission, and password policy, combined with the attacker to steal user passwords may take means of attack, the design of the dynamic mixing of challenge response and salted hash algorithm based on encryption strategy, realize the password in the process of transmission and storage shall not expressly exists, in the cipher text level to achieve a one-time-pad encrypt and irreversible operation, for the user provided password expressly not stolen safety certification process. At last, some suggestions are put forward on password management and user’s habit.
university; information platform; cryptography; transmission; Hash; challenge response
2016-05-29
TP309.2