胡方祿
摘要:該文介紹了現(xiàn)在用戶口令的破解方式,及如何避免口令被破解的解決方法。
關(guān)鍵詞:MD5;SHA;加鹽;破解;安全性
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)13-0040-01
MD5和SHA算法在信息安全及數(shù)字認(rèn)證中的應(yīng)用十分廣泛,其實(shí)質(zhì)就是一種HASH算法,均來源于MD4算法,HASH算法的特性是具有不可逆的特性,確定性,潰散性,不可逆值根據(jù)HASH算出來的值,是不能倒推出輸入的值,確定性是指:如果兩個HASH值是不相同的,那么這兩個HASH值的原始輸入也是不相同的;碰撞性指,HASH的輸入和輸出不是一一對應(yīng)的,如果兩個散列值相同,兩個輸入值很可能是相同的,但并不能絕對肯定二者一定相等,這就是碰撞。潰散性指輸入一些數(shù)據(jù)計算出散列值,然后部分改變輸入值,一個具有強(qiáng)混淆特性的HASH會產(chǎn)生一個完全不同的散列值。但是MD5的碰撞性是相當(dāng)?shù)偷模蠹s是1.84*1019之一,這個概率幾乎就是不可能的發(fā)生的,所以,現(xiàn)在廣泛的使用該技術(shù)作為數(shù)據(jù)傳輸,中途是否被修改的的判斷,作為密碼的加密方式存儲;還作為數(shù)字認(rèn)證。
我們用SHA來分析,使用該算法生成的用戶口令的安全性:
1)王小云教授已經(jīng)破解了MD5,有人說在2004年山東大學(xué)王小云教授已經(jīng)破解了MD5的算法,實(shí)際上王小云教授并沒有破解MD5算法,而是一種已知某個銘文,再通過該明文增加一些內(nèi)容生成一個MD5值,使得這兩個值相等,我們知道如果別人已經(jīng)知道了我們的密碼,那根本就不用破解了;
2)大家在網(wǎng)上隨便一搜,都能搜到很多破解md5,sha1,sha256,sha512等的網(wǎng)站,大家一測試,還真的就破解出來了,這個是不是就說明,現(xiàn)在用md5,sha256,sha512等運(yùn)算出來的密文,真的不安全了嗎,其實(shí)不是,你可以自己測試一下,把你的密碼設(shè)置的復(fù)雜一點(diǎn),位數(shù)多一點(diǎn),再到那些網(wǎng)站上試,它就破解不了了,為什么呢,其實(shí)很簡單,這些網(wǎng)站把很多的排列組合用md5、sha256,sha512運(yùn)算出一個hash結(jié)果,然后存到數(shù)據(jù)庫內(nèi),你輸入的hash結(jié)果,它就到數(shù)據(jù)庫中去查詢,一旦查到復(fù)合的條件,就把結(jié)果返回給你,所以這個不能叫破解,這相當(dāng)于,一個個去試,當(dāng)我們設(shè)置的密碼足夠長、復(fù)雜的時候,那些網(wǎng)站的數(shù)據(jù)庫是很難存下1.84*1019條數(shù)據(jù)的,如果我們是用sha256甚至sha512的時候,那那個破解網(wǎng)站的數(shù)據(jù)庫要有3.4*1038和1.16*1077大才行,那個不是現(xiàn)在的計算機(jī)所能存儲的下來的。
3)獲得hash值后,用窮舉法去一個個試,理論上還是能夠行的通的。對于這種方式理論上確實(shí)能夠行得通,但是我們可以用“加鹽”的方法,使得用戶輸入的簡單密碼,強(qiáng)制性的變得復(fù)雜,同時,就算黑客獲得了hash值,用窮舉的方法取得了這個hash所對應(yīng)的明文,但是,當(dāng)黑客用這個明文作為用戶的密碼輸入時,還是不能正常登陸,因?yàn)樗斎氲拿魑倪€要在我們的程序內(nèi)“加鹽”后再進(jìn)行hash運(yùn)算,所以得到的結(jié)果還是與數(shù)據(jù)庫里存儲的hash值不符,所以一樣進(jìn)不了系統(tǒng)。
4)黑客利用社會學(xué)等來研究用戶的密碼,這種情況的話用戶最好使用沒有規(guī)律的字母、數(shù)字、特殊符號作為密碼,而且盡量長一點(diǎn)、分好大小寫,不要使用姓名的拼音、英文單詞、電話號碼、生日等這些東西作為密碼;杜絕從用戶角度去猜密碼的可能性。
5)用戶對密碼的保存,最好的方式是寫在記事本上,也不要放到電腦里面,電腦被黑客攻擊后,很可能會獲得這些資料。
6)密碼最好是一個賬號對應(yīng)一個密碼。但是現(xiàn)在很多人都有許多的賬號如:QQ、微信、淘寶、京東、各個銀行、各個論壇、郵箱等等,密碼多了,自己也記不住,那就建議根據(jù)安全級別不同,分別設(shè)置不同密碼,如各個銀行、支付寶等設(shè)計財產(chǎn)的設(shè)置一個搞復(fù)雜度的密碼;通信類的郵箱、QQ等設(shè)置一個比較復(fù)雜的密碼;其他各種娛樂性論壇就可以設(shè)置一個相對簡單的密碼,絕對不能所有賬號的密碼都是一樣的,那樣的話,有的小網(wǎng)站的論壇密碼一旦被人竊取,就可能威脅到你的銀行、支付寶等的密碼。
參考文獻(xiàn):
[1] 黃毅,楊朔,陳進(jìn)原. C# WindowsForm編程中MD5加密的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)時代,2013(6).
[2] 王志中.MD5算法在口令認(rèn)證中的安全性改進(jìn)[J].電腦知識與技術(shù), 2012(1).
[3] 董明明.MD5驗(yàn)證技術(shù)討論和改進(jìn)設(shè)想[J].電腦知識與技術(shù),2012(2).
[4] 祝彥斌,王春玲.一種Hash特征隱藏的加鹽信息摘要模型[J].計算機(jī)技術(shù)與發(fā)展,2013(3).