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

網(wǎng)絡(luò)論壇口令的安全分析*

2018-05-25 03:09:18張李軍張愛麗
通信技術(shù) 2018年5期
關(guān)鍵詞:數(shù)據(jù)庫用戶

杜 薇,張李軍,張愛麗

(1.中國電子科技集團公司第三十研究所,四川 成都 610041;2.保密通信重點實驗室,四川 成都 610041;3.河南師范大學新聯(lián)學院,河南 鄭州 450000)

0 引 言

網(wǎng)絡(luò)論壇是互聯(lián)網(wǎng)上的一種電子信息服務(wù)系統(tǒng),也就是BBS(電子公告牌)。它是一種交互性強、內(nèi)容豐富、及時性強且非常受歡迎的電子信息服務(wù)平臺。網(wǎng)絡(luò)論壇可為其注冊用戶提供多種服務(wù),如信息交換、聊天和信息共享等。伴隨著網(wǎng)絡(luò)的蓬勃發(fā)展,論壇也有了迅猛發(fā)展。論壇可以分為綜合類論壇和專題類論壇。綜合類論壇信息豐富、廣泛,包含了很多方面的信息,主要由大規(guī)模的網(wǎng)站組成。專題類論壇主要聚焦在某種類型的信息或者資源上。專題類論壇對個人消費和科學研究起著重要作用,每個人都可以根據(jù)自己的興趣愛好找到對應(yīng)的專題類論壇,如購物論壇、旅游論壇和編程論壇等。隨著網(wǎng)絡(luò)論壇的廣泛使用,它的安全性也受到越來越多網(wǎng)絡(luò)用戶的關(guān)心。目前,口令是注冊用戶登陸論壇的最常用途徑。因此,它最重要的安全就是用戶口令的安全,而時不時發(fā)生的口令泄露事件震驚了絕大多數(shù)論壇用戶。2011年11月,著名的計算機論壇CSDN泄露了大概600萬用戶的隱私,包括口令、郵件、生日和電話號碼等[1]。于此同時,天涯社區(qū)超過4 000萬用戶的用戶名和密碼也被公布于眾[2]。這無疑大大影響了大眾對論壇安全的態(tài)度。2014年12月25日,官方鐵路售票網(wǎng)站12306超過13萬用戶的賬號、郵件和口令被泄露,甚至那些以密文方式存儲于數(shù)據(jù)庫中的口令也被泄露[3]。可見,口令的安全性面臨著現(xiàn)實的挑戰(zhàn)。

論壇是由論壇軟件開發(fā)的,其中Discuz!和PhpWind是2個大家廣泛熟悉的軟件。2個論壇前端均采用“PHP”網(wǎng)絡(luò)編程語言,后端數(shù)據(jù)庫采用SQL或者MYSQL的設(shè)計架構(gòu)。這樣的架構(gòu)有許多優(yōu)點:多國語言的支持,適配公開或者私有的論壇建設(shè),集成強大的搜索工具等。之所以聚焦于這2類論壇,是因為目前這2類論壇占有超過90%的市場份額。當前,網(wǎng)絡(luò)論壇的安全性已經(jīng)引起了很多學者的關(guān)注。Horseluke研究了Discunz[4]的加密函數(shù),Bkd指出了PhpWind[5]的加密漏洞,Liu也分析了這個論壇所使用的cookie加密函數(shù)[6]。Zhang在2013年給出了phpBB3論壇的詳細的安全分析[7]。

不同的論壇開發(fā)軟件不同,口令的安全也不同。本文主要分析Discuz!和PhpWind論壇的口令安全,包括口令加密、口令破解的復(fù)雜性。通過安全性對比,針對加密算法的具體實現(xiàn)和口令的選擇策略,提出了一些建議,用于增強論壇用戶口令的安全性。

1 口令加密的機制

論壇軟件的口令加密機制主要是指用戶口令的加密存儲。它可以分為兩個方面,服務(wù)器端口令的加密存儲和本地瀏覽器端口令的加密存儲。在服務(wù)器端,后端數(shù)據(jù)庫存儲用戶名和對應(yīng)的加密后的口令。而本地瀏覽器端,這些信息也會被加密并保存在cookie里,以方便用戶之后直接登錄網(wǎng)站。下面將依次分析這2個論壇的口令加密方案。

1.1 Discuz!論壇的口令加密

1.1.1 服務(wù)器端口令加密

用戶注冊論壇時,會按要求提供用戶名和口令。對于每一個用戶名,Discuz!論壇軟件會產(chǎn)生一個長度為6 Byte的隨機數(shù),稱為salt值,用于口令加密。用戶提交口令后,口令會被MD5算法加密2次。首先將用戶口令直接作為MD5算法的輸入,其次MD5算法的運算結(jié)果與salt值級聯(lián)后,再次作為MD5算法的輸入。加密運算表達為:

其中PASS是password對應(yīng)的密文。

服務(wù)器將PASS作為最終的口令存儲于數(shù)據(jù)庫,同時將用戶名和對應(yīng)的salt值存放在數(shù)據(jù)庫的“uc_member”表中。其中,“uc_member”表隸屬于一個專用系統(tǒng)管理軟件“UCenter”。當用戶登錄后,數(shù)據(jù)庫會根據(jù)用戶名檢索對應(yīng)的salt值,計算MD5(MD5(logging password)||salt)得到登錄所用口令的密文結(jié)果。如果計算得到的結(jié)果與存儲在數(shù)據(jù)庫中的PASS數(shù)據(jù)匹配,用戶則可以成功登錄論壇。在注冊和登錄階段的口令處理過程如圖1所示。

圖1 口令的加密與存儲

需要注意的是,在Discuz!軟件中,本身也有一個所謂的“password”存放在“members”表中,計算方式為:

即password是對一個隨機數(shù)的MD5的雜湊值,但這個password對論壇用戶毫無用處。它的存在只是為了保持與上一個Discuz!版本的兼容性。實際上,真正驗證用戶的口令依舊在“UCenter”界面實現(xiàn)。

1.1.2 安全提問的加密

除用戶口令外,用戶注冊Discuz!論壇時,也需要對指定的安全提問做出回答。用戶忘記口令時,可以根據(jù)當時注冊時所留安全提問的答案找回口令。若用戶的答案正確,可以重置用戶口令。通過研究Discuz!論壇的源代碼可以發(fā)現(xiàn),這些安全提問的答案也是采用MD5算法加密。

加密運算流程如下:

其中ID是安全問題的ID,substr表示截取MD5雜湊值的第16~24位。

下面給出一個安全提問的答案加密過程的實例。

假設(shè)注冊時論壇給出3個安全提問,用戶選擇對第3個安全提問進行回答,且答案為“1v1.name”。

假設(shè)安全提問如下:

根據(jù)加密函數(shù),加密過程如下:首先計算第3個安全提問對應(yīng)的ID=7的MD5的雜湊值,結(jié)果是8f14e45fceea167a5a36dedd4bea2543;其次,將對應(yīng)的安全提問的答案與雜湊值拼接,為1v1.name8f14e 45fceea167a5a36dedd4bea2543;再次,計算其MD5的雜湊值,為f5d8e00a4ebc9ead 4611c04706ae05fd;最后,截取其雜湊結(jié)果的第16~24位,結(jié)果為“4611c047”,即Answer的值。

1.1.3 本地cookie口令加密

通過瀏覽器首次登錄過論壇后,Discuz!論壇會借助加密函數(shù)“authcode”加密用戶的個人信息(如用戶名、口令、單位等),并將其對應(yīng)的密文存放于本地瀏覽器的cookie中。這大大方便了用戶的后續(xù)登錄,因為瀏覽器會直接讀取密文,解密用戶名、口令,驗證其正確性。如果解密后的信息正確,用戶不需要再次輸入用戶名和口令就可以直接登錄。現(xiàn)在給出本地cookie口令加密的原理。

本地cookie加密的過程分成3個階段:密鑰產(chǎn)生、類似RC4算法的加密和解密以及時效性和數(shù)據(jù)完整性校驗,如圖2所示。

圖2 本地cookie加密的過程

密鑰產(chǎn)生階段(詳見圖3)描述了加密(或解密)密鑰和完整性密鑰的產(chǎn)生。加密密鑰與RC4算法一起用于加密(或解密)用戶的個人信息,而完整性密鑰用于解密過程中,對數(shù)據(jù)進行完整性校驗。首先,由全局變量“Discuz_auth_key”產(chǎn)生初始密鑰,然后初始密鑰再分解成3個子密鑰,即Key_a、Key_b和Key_c。從圖3可知,由這些子密鑰可以得到加密密鑰和完整性密鑰。

圖3 密鑰產(chǎn)生的過程

密鑰產(chǎn)生后,瀏覽器使用RC4算法加密(或解密)用戶登錄信息。加密時,密文存儲于cookie中;解密時,對解密后的信息進行時效性檢查和數(shù)據(jù)完整性驗證。

這個驗證過程可以被描述為如下幾個情況:

(1)substr(result,0,10)==0;

(2)(substr(result,0,10)-time)0;

(3)substr(result,10,16)==substr(md5(substr(resu lt,26)||Key_b),0,16);

只要滿足前兩個情況中的一個就足夠了。第一條表示數(shù)據(jù)的時效性是永久的,第二個條件表示cookie解密必須在cookie產(chǎn)生后,第三條則是通過檢驗“Key_b”的完整性來防止cookie被篡改。

1.2 PhpWind論壇的口令加密

1.2.1 服務(wù)器端口令加密

PhpWind論壇的每一個口令都僅采用一個簡單的MD5算法加密:PASS=MD5(password)。所有的口令經(jīng)過MD5運算后會被存儲到數(shù)據(jù)庫中。注意,這里沒有引入隨機數(shù)技術(shù)(即沒有像Discuz!論壇里使用的salt值),而且MD5加密也僅僅執(zhí)行了一次而已。

1.2.2 本地cookie口令加密

PhpWind論壇的cookie口令加密方式與Discuz!論壇類似,包含兩個階段。首先,它采用一個名為“PwdCode”的函數(shù)計算用戶口令的MD5值。其次,通過一個名為“StrCode”的函數(shù)將此雜湊值編碼為base64放入cookie中。第一階段的明文包含瀏覽器的全局信息、用戶口令以及一個稱為安全認證參數(shù)的雜湊字符串。

整個加密過程可以由如下的偽代碼描述:

PwdCode(password){

return MD5(Global[sever]||password||Global[hash]);

}

StrCode (string){

Key=substr(md5(Global[server]||Global[ha sh]),8,18);

Keylen=strlen(key);

Strlen=strlen(string);

for(i=0;i

K=i% keylen;

Code=string[i]^key[k];

}

return base64(code);

}

其中Global[server]和Global[hash]是用戶瀏覽器的2個全局參數(shù)。

2 加密安全分析和對比

本節(jié)將從2個方面對口令加密的安全性進行分析:加密算法的強度和口令破解的復(fù)雜度。

2.1 加密算法的強度

這2個論壇采用的核心算法都是MD5加密算法,但是在具體實現(xiàn)上又有所不同。眾所周知,理論上廣泛應(yīng)用的MD5雜湊算法具有抗碰撞和不可逆性。即已知一個雜湊值,想要反向計算出原本的輸入消息(也就是用戶的口令)是困難的。另外,幾乎無法找到2個不同的消息經(jīng)過同一個雜湊運算后能得到相等的雜湊值。然而,實際中如果用教科書版本的方式來實現(xiàn)MD5算法,想要從MD5雜湊值反向計算出口令也是可能的。

2.2 口令破解的復(fù)雜度

下面將仔細分析Discuz!和PhpWind論壇中2種MD5加密方案的具體實現(xiàn)。

例1:直接使用MD5算法來加密口令。

直接使用MD5算法來加密口令,即PASS=MD5(password)。這個方案就是PhpWind論壇使用的方案。雖然理論上MD5算法是一個安全的雜湊算法,但實際中未必如此。如果數(shù)據(jù)庫泄露,用戶的口令也會隨之暴露,因為已知某個口令的MD5雜湊值可對其進行字典攻擊[8-9],即不需要花費太多的努力就能在可接受的時間內(nèi)確定口令的明文。此外,現(xiàn)在已經(jīng)存在了大量可以通過互聯(lián)網(wǎng)免費下載的壓縮字典,名為“彩虹表”[10]。如果一個黑客設(shè)法獲得了存儲于論壇數(shù)據(jù)庫存儲的口令雜湊值,再從互聯(lián)網(wǎng)下載彩虹表,通過查詢彩虹表已有的口令和口令的雜湊值就可以破解MD5雜湊值,從而恢復(fù)出對應(yīng)的口令明文[11]。目前,基于GPU的高性能計算的發(fā)展也大大提升了破解口令的效率,幾乎可以瞬間破解一個長度小于8 Byte僅包含十進制數(shù)的口令[12]。

如今,可以利用GPU并行計算的優(yōu)勢來提高口令恢復(fù)的速度。在NVIDIA GPU上的實際測試結(jié)果為,每秒鐘破解24億個明文。表1為按照這個速度估算破解一個普通長度且同時包含小寫字母和數(shù)字的口令的時間。

表1 破解速率的評估

通過表1可以看出,破解一個長度為8 Byte的包含數(shù)字和小寫字母的口令,只需要不到20 min,即20 min內(nèi)可以計算出口令明文的所有排列組合,從而破解口令。

例2:使用salt值的MD5算法

Discuz!論壇采用MD5(MD5(logging password)||salt)方式加密用戶口令。這種MD5加密方式大大提高了安全度。目前,破解MD5雜湊值采用的最廣泛方法是彩虹表攻擊。它的主要思路是預(yù)先計算通用的口令的雜湊值。進行破解時,只需要將所獲取的論壇數(shù)據(jù)庫中的雜湊值與彩虹表中的雜湊值進行比較。如果匹配,則對應(yīng)的口令被恢復(fù)。根據(jù)雜湊函數(shù)的特性,碰撞幾乎是不可能的。也就是說,對2個不同的口令進行同一個雜湊函數(shù)運算,幾乎不可能得到2個相同的雜湊值。因此,有salt的MD5算法可以阻礙上述的字典攻擊。要破解不含salt的MD5算法,彩虹表需要260 GB的容量。引入了salt后,salt取值的可能性有900 000種(salt=random(100000,999999)),因此彩虹表的容量會迅速增長到900 000×260 GB=234 PB(1 PB=106 GB),而這種級別容量遠高于當前的存儲容量。即便滿足了容量,搜索效率也非常低下,無法滿足破解的要求。

當然,現(xiàn)實中也不可能建立一個涵蓋所有口令雜湊值的彩虹表。黑客只有在容量與口令破解的成功率之間權(quán)衡。黑客往往從社會科學中選擇通用的口令來構(gòu)造彩虹表。現(xiàn)在也有一些網(wǎng)站提供含有salt值的彩虹表,但破解的效率不盡如人意。例如,在一個真實的測試中,一個普遍的口令“admin888”并沒有被成功恢復(fù)。畢竟,這種攻擊方法并不能保證100%的成功率。需要注意的是,論壇中安全提問的加密過程,并沒有使用有salt的MD5加密算法。因此,破解安全提問比破解例1更為簡單。雖然例1直接使用MD5運算得到了雜湊值,但安全提問一般都有一個具體的方向,答案的范圍也非常有限。因此,答案對應(yīng)的雜湊值的可能性也不會很多,大大提高了破解的速度。

通過以上口令加密的分析,可以得出一個結(jié)論:Discuz!論壇的口令安全優(yōu)于PhpWind論壇。但是,盡管Discuz!論壇引入salt值改善了口令安全,但是由于其salt的取值范圍有限,安全性也不能得到保證。

3 口令安全的增強

將從兩個方面提出兩點關(guān)于提高口令安全性的建議:改善加密算法的實現(xiàn)方式和優(yōu)化口令的選擇策略。

3.1 選擇帶salt值的MD5加密算法

如前面指出的,salt值大大增加了從雜湊值恢復(fù)口令的復(fù)雜度。目前,Discuz!論壇的salt值長度為6 Byte,且僅包含十進制的數(shù)字。因此,將來可以將salt值的取值范圍擴大為支持任意可打印的字符。這樣將salt取值由900 000增加到了956=7.35×1 011,以讓廣泛流行的彩虹表完全失效。

3.2 優(yōu)化口令的選擇策略

通過真實的口令破解經(jīng)驗,可以提出至少2條策略來優(yōu)化口令選擇。首先,應(yīng)該將口令設(shè)置為強口令。強口令是指長度不小于10 Byte,避免使用普通的數(shù)字、英文字母以及這樣的組合,如“12345678”“666666”和“birthday”等。其次,對于不同的賬戶應(yīng)該設(shè)置不同的密碼,有效避免某個論壇用戶名和密碼被泄露后,其他論壇的賬戶也被泄露。

4 工作展望

主要分析了2個論壇數(shù)據(jù)庫中口令的加密方法,發(fā)現(xiàn)瀏覽器本地cookie加密的核心加密算法類似RC4算法,而RC4算法存在安全漏洞,如RC4的WEP(一個在無線網(wǎng)絡(luò)中的加密協(xié)議)已經(jīng)被攻破[13]。今后的研究中會進一步分析這2個算法的異同,并研究破解RC4的方法是否也會破解這個算法。

發(fā)現(xiàn)PhpWind論壇使用的cookie加密函數(shù)僅僅是一個異或函數(shù),而這是一個安全性非常弱的加密方法。因為異或很容易遭受密鑰重用攻擊,即如果E(A)=A xor K,aE(B)=B xor K,那么E(A) xor E(B)=A xor B。因為(A xor K) xor (B xor K)=A xor B xor K xor K=A xor B,因此K為重復(fù)使用的密鑰。因此,很可能解密cookie的密文時,甚至不需要知道加密密鑰。這是未來研究的領(lǐng)域。

5 結(jié) 語

本文研究了兩個常用網(wǎng)絡(luò)論壇的口令安全性,仔細分析了服務(wù)器端口令加密的方案,包括其使用的密碼算法本身的安全強度和具體實現(xiàn)的方法。研究指出,PhpWind論壇的口令并不安全,其口令可以通過MD5雜湊值被瞬間破解;Discuz!論壇的口令安全優(yōu)于PhpWind論壇。考慮到可實現(xiàn)的攻擊,提出了增強口令安全和優(yōu)化口令選擇策略的意見。最后,指出2個論壇所使用的cookie加密的不足,可能導(dǎo)致其遭受到安全攻擊。

參考文獻:

[1] 國內(nèi)最大程序員網(wǎng)站600余萬用戶信息遭泄露[EB/OL].(2011-12-22)[2018-01-09].https://news.qq.com/a/20111222/000057.htm.6 million CSDN User's Privacy are Leaked[EB/OL].(2011-12-22)[2018-01-09].https://news.qq.com/a/20111222/000057.htm.

[2] 天涯承認部分用戶密碼泄露 據(jù)稱涉及4000萬人[EB/OL].(2011-12-26)[2018-01-09].https://news.qq.com/a/20111226/000061.htm.40 Million User's Passwords of TianYa Commnity are Leaked[EB/OL].(2011-12-26)[2018-01-09].https://news.qq.com/a/20111226/000061.htm.

[3] 超十三萬條12306用戶數(shù)據(jù)泄露[EB/OL].(2014-12-26)[2018-01-09].http://news.sina.com.cn/o/2014-12-26/035931328946.shtml.Over 130,000 user data leaks in 12306 [EB/OL].(2014-12-26)[2018-01-09].http://news.sina.com.cn/o/2014-12-26/035931328946.shtml.

[4] Horseluke.The Analysis of RC4 Encription Algorithm in Discuz Forum[EB/OL].(2011-11-08)[2018-01-09].http://bbs.phpchina.com/forum.php?mod=redirect&goto=findpost&ptid=113075&pid=1452503.

[5] Bkd.The Encryption Hole of PhpWind Forum[EB/OL].(2011-11-01)[2018-01-09].http://atim.cn/index.php.

[6] LIU Qing-yan.The Password and Coookie Encryption in PhpWind Forum[EB/OL].(2010-10-01)[2018-01-09].http://qing.weibo.com/discovery.html.

[7] ZHANG Li-jun,JIA Fan.The Security Analysis of PhpBB Forum[C].Proceddings of 2013 Fifth International Conference on Multimedia Information Networking and Security,2013:50-53.

[8] Passware Company Software.Passware Kit Enterprise and Passware Kit Forensic[Z].http://www.lostpassword.com/index.htm.

[9] Elcomsoft Company Software.Disk Decryptor Forensic[Z].http://www.elcomsoft.com.

[10] Oechslin P.Making a Faster Cryptanalytic Time-memory Trade-off[C].CRYPTO 2003,2003:617-630.

[11] Cmd5 Organize.MD5 Plaintext Recovery Online[EB/OL].(2013-01-01)[2018-01-09].http://www.cmd5.com.

[12] Tzeng S,Wei L Y.Parallel White Noise Generation on a GPU via Cryptographic Hash[C].Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games,2008:79-88.

[13] Klein A.Attacks on the RC4 Stream Cipher[J].Designs,Codes,and Cryptography,2008,48(03):269-286.

猜你喜歡
數(shù)據(jù)庫用戶
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 亚洲国产高清精品线久久| 538精品在线观看| 国产精品所毛片视频| 亚洲日韩第九十九页| 99ri精品视频在线观看播放| 日本欧美精品| 国产精品无码制服丝袜| 91国内在线观看| 久久久久久久蜜桃| 久久精品人人做人人爽97| 无码AV高清毛片中国一级毛片| 国产激爽爽爽大片在线观看| 91香蕉国产亚洲一二三区 | 国产激情无码一区二区APP| 国产特级毛片aaaaaa| 伊人色天堂| 国产成人福利在线视老湿机| 久久久久久高潮白浆| 久久久91人妻无码精品蜜桃HD| 日本午夜精品一本在线观看| 制服丝袜无码每日更新| 2020国产免费久久精品99| 欧美日韩激情在线| 91精品情国产情侣高潮对白蜜| 欧美一区二区三区不卡免费| 国产日本欧美亚洲精品视| 国产精品黑色丝袜的老师| 91美女在线| 国产精品福利在线观看无码卡| 久久香蕉欧美精品| 亚洲综合激情另类专区| 色综合色国产热无码一| 四虎永久在线视频| 国产偷倩视频| 六月婷婷激情综合| 亚洲啪啪网| 国产超薄肉色丝袜网站| 91国内视频在线观看| 亚洲中文在线视频| 香蕉久久国产超碰青草| 国产毛片片精品天天看视频| 一本久道久综合久久鬼色| 国内精品久久人妻无码大片高| 国产伦片中文免费观看| 亚洲成年网站在线观看| 亚洲国产理论片在线播放| 国产精品久久久久久久久kt| 国产中文一区a级毛片视频| 亚洲国产成人久久精品软件| 91系列在线观看| 91在线丝袜| 中文字幕永久在线看| 无码高潮喷水在线观看| 国产精品久线在线观看| 国产91小视频在线观看| 在线精品视频成人网| AV天堂资源福利在线观看| 日韩天堂网| 无码中文字幕加勒比高清| 日本一区二区三区精品视频| 精品国产亚洲人成在线| 日韩精品无码不卡无码| 久久精品免费看一| 国产97色在线| 亚洲中久无码永久在线观看软件 | 欧美乱妇高清无乱码免费| 人人澡人人爽欧美一区| 54pao国产成人免费视频| 狠狠操夜夜爽| 国产sm重味一区二区三区| 在线色国产| 精品无码一区二区在线观看| 精品国产一二三区| 免费无码网站| 香蕉eeww99国产在线观看| 免费三A级毛片视频| 精品久久久久无码| 国产福利微拍精品一区二区| 九九这里只有精品视频| 国产成人乱无码视频| 天堂成人在线| 在线观看国产网址你懂的|