狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

如何安全的存儲(chǔ)密碼

admin
2012年9月22日 22:13 本文熱度 3773


過(guò)去一段時(shí)間來(lái),眾多的網(wǎng)站遭遇用戶密碼數(shù)據(jù)庫(kù)泄露事件,這甚至包括頂級(jí)的互聯(lián)網(wǎng)企業(yè)–NASDQ上市的商務(wù)社交網(wǎng)絡(luò)Linkedin,國(guó)內(nèi)諸如CSDN一類的就更多了。 


層出不窮的類似事件對(duì)用戶會(huì)造成巨大的影響,因?yàn)槿藗兺?xí)慣在不同網(wǎng)站使用相同的密碼,一家“暴庫(kù)”,全部遭殃。 


那么在選擇密碼存儲(chǔ)方案時(shí),容易掉入哪些陷阱,以及如何避免這些陷阱?我們將在實(shí)踐中的一些心得體會(huì)記錄于此,與大家分享。 


如何安全的存儲(chǔ)密碼 


菜鳥(niǎo)方案: 


直接存儲(chǔ)用戶密碼的明文或者將密碼加密存儲(chǔ)。 


曾經(jīng)有一次我在某知名網(wǎng)站重置密碼,結(jié)果郵件中居然直接包含以前設(shè)置過(guò)的密碼。我和客服咨詢?yōu)槭裁粗苯訉⒚艽a發(fā)送給用戶,客服答曰:“減少用戶步驟,用戶體驗(yàn)更好”;再問(wèn)“管理員是否可以直接獲知我的密碼”, 客服振振有詞:“我們用XXX算法加密過(guò)的,不會(huì)有問(wèn)題的”。 殊不知,密碼加密后一定能被解密獲得原始密碼,因此,該網(wǎng)站一旦數(shù)據(jù)庫(kù)泄露,所有用戶的密碼本身就大白于天下。 


以后看到這類網(wǎng)站,大家最好都繞道而走,因?yàn)橐患摇氨?kù)”,全部遭殃。 


入門(mén)方案: 


如何安全的存儲(chǔ)密碼 


將明文密碼做單向哈希后存儲(chǔ)。 


單向哈希算法有一個(gè)特性,無(wú)法通過(guò)哈希后的摘要(digest)恢復(fù)原始數(shù)據(jù),這也是“單向”二字的來(lái)源,這一點(diǎn)和所有的加密算法都不同。常用的單向哈希算法包括SHA-256,SHA-1,MD5等。例如,對(duì)密碼“passwordhunter”進(jìn)行SHA-256哈希后的摘要(digest)如下: 


“bbed833d2c7805c4bf039b140bec7e7452125a04efa9e0b296395a9b95c2d44c”


 可能是“單向”二字有誤導(dǎo)性,也可能是上面那串?dāng)?shù)字唬人,不少人誤以為這種方式很可靠, 其實(shí)不然。 


單向哈希有兩個(gè)特性: 


1)從同一個(gè)密碼進(jìn)行單向哈希,得到的總是唯一確定的摘要 


2)計(jì)算速度快。隨著技術(shù)進(jìn)步,尤其是顯卡在高性能計(jì)算中的普及,一秒鐘能夠完成數(shù)十億次單向哈希計(jì)算 


結(jié)合上面兩個(gè)特點(diǎn),考慮到多數(shù)人所使用的密碼為常見(jiàn)的組合,攻擊者可以將所有密碼的常見(jiàn)組合進(jìn)行單向哈希,得到一個(gè)摘要組合,然后與數(shù)據(jù)庫(kù)中的摘要進(jìn)行比對(duì)即可獲得對(duì)應(yīng)的密碼。這個(gè)摘要組合也被稱為rainbow table。 


更糟糕的是,一個(gè)攻擊者只要建立上述的rainbow table,可以匹配所有的密碼數(shù)據(jù)庫(kù)。仍然等同于一家“暴庫(kù)”,全部遭殃。以后要是有某家廠商宣布“我們的密碼都是哈希后存儲(chǔ)的,絕對(duì)安全”,大家對(duì)這個(gè)行為要特別警惕并表示不屑。有興趣的朋友可以搜索下,看看哪家廠商躺著中槍了。 


進(jìn)階方案: 


如何安全的存儲(chǔ)密碼 


將明文密碼混入“隨機(jī)因素”,然后進(jìn)行單向哈希后存儲(chǔ),也就是所謂的“Salted Hash”。 


這個(gè)方式相比上面的方案,最大的好處是針對(duì)每一個(gè)數(shù)據(jù)庫(kù)中的密碼,都需要建立一個(gè)完整的rainbow table進(jìn)行匹配。 因?yàn)閮蓚€(gè)同樣使用“passwordhunter”作為密碼的賬戶,在數(shù)據(jù)庫(kù)中存儲(chǔ)的摘要完全不同。 


10多年以前,因?yàn)橛?jì)算和內(nèi)存大小的限制,這個(gè)方案還是足夠安全的,因?yàn)楣粽邲](méi)有足夠的資源建立這么多的rainbow table。 但是,在今日,因?yàn)轱@卡的恐怖的并行計(jì)算能力,這種攻擊已經(jīng)完全可行。 


專家方案: 


如何安全的存儲(chǔ)密碼 


故意增加密碼計(jì)算所需耗費(fèi)的資源和時(shí)間,使得任何人都不可獲得足夠的資源建立所需的rainbow table。 


這類方案有一個(gè)特點(diǎn),算法中都有個(gè)因子,用于指明計(jì)算密碼摘要所需要的資源和時(shí)間,也就是計(jì)算強(qiáng)度。計(jì)算強(qiáng)度越大,攻擊者建立rainbow table越困難,以至于不可繼續(xù)。 


這類方案的常用算法有三種: 


1)PBKDF2(Password-Based Key Derivation Function) 


PBKDF2簡(jiǎn)單而言就是將salted hash進(jìn)行多次重復(fù)計(jì)算,這個(gè)次數(shù)是可選擇的。如果計(jì)算一次所需要的時(shí)間是1微秒,那么計(jì)算1百萬(wàn)次就需要1秒鐘。假如攻擊一個(gè)密碼所需的rainbow table有1千萬(wàn)條,建立所對(duì)應(yīng)的rainbow table所需要的時(shí)間就是115天。這個(gè)代價(jià)足以讓大部分的攻擊者忘而生畏。 



美國(guó)政府機(jī)構(gòu)已經(jīng)將這個(gè)方法標(biāo)準(zhǔn)化,并且用于一些政府和軍方的系統(tǒng)。 這個(gè)方案最大的優(yōu)點(diǎn)是標(biāo)準(zhǔn)化,實(shí)現(xiàn)容易同時(shí)采用了久經(jīng)考驗(yàn)的SHA算法。 


2) bcrypt 


bcrypt是專門(mén)為密碼存儲(chǔ)而設(shè)計(jì)的算法,基于Blowfish加密算法變形而來(lái),由Niels Provos和David Mazières發(fā)表于1999年的USENIX。 


bcrypt最大的好處是有一個(gè)參數(shù)(work factor),可用于調(diào)整計(jì)算強(qiáng)度,而且work factor是包括在輸出的摘要中的。隨著攻擊者計(jì)算能力的提高,使用者可以逐步增大work factor,而且不會(huì)影響已有用戶的登陸。 


bcrypt經(jīng)過(guò)了很多安全專家的仔細(xì)分析,使用在以安全著稱的OpenBSD中,一般認(rèn)為它比PBKDF2更能承受隨著計(jì)算能力加強(qiáng)而帶來(lái)的風(fēng)險(xiǎn)。bcrypt也有廣泛的函數(shù)庫(kù)支持,因此我們建議使用這種方式存儲(chǔ)密碼。 


3) scrypt 


scrypt是由著名的FreeBSD黑客 Colin Percival為他的備份服務(wù) Tarsnap開(kāi)發(fā)的。 


和上述兩種方案不同,scrypt不僅計(jì)算所需時(shí)間長(zhǎng),而且占用的內(nèi)存也多,使得并行計(jì)算多個(gè)摘要異常困難,因此利用rainbow table進(jìn)行暴力攻擊更加困難。scrypt沒(méi)有在生產(chǎn)環(huán)境中大規(guī)模應(yīng)用,并且缺乏仔細(xì)的審察和廣泛的函數(shù)庫(kù)支持。但是,scrypt在算法層面只要沒(méi)有破綻,它的安全性應(yīng)該高于PBKDF2和bcrypt。 


該文章在 2012/9/22 22:13:06 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved