簡(jiǎn) 玲, 徐賽賽, 邱衛(wèi)東, 郭奕東
(1上海市公安局網(wǎng)絡(luò)安全保衛(wèi)總隊(duì),上海200025;2上海交通大學(xué)電子信息與電氣工程學(xué)院,上海200240)
口令作為一種身份認(rèn)證與授權(quán)控制的基本手段,廣泛應(yīng)該在各類信息系統(tǒng)中。然而,無(wú)論是對(duì)于網(wǎng)頁(yè)應(yīng)用還是文件類應(yīng)用,口令的明文傳輸與存儲(chǔ)都是一個(gè)嚴(yán)重的安全漏洞,將為攻擊者大開方便之門。密碼學(xué)上對(duì)這一問(wèn)題的解決方案是使用哈希函數(shù)對(duì)口令進(jìn)行加密。
哈希函數(shù)又稱單項(xiàng)散列函數(shù)、雜湊函數(shù),它接受任意長(zhǎng)度的輸入消息,輸出固定長(zhǎng)度的比特串。哈希函數(shù)具有以下性質(zhì):對(duì)于任意長(zhǎng)度的輸入,都能快速容易地計(jì)算哈希輸出?無(wú)法根據(jù)已有哈希值逆向計(jì)算輸入消息,這也是其稱之為單項(xiàng)的原因?對(duì)于給定消息,難以找到另一個(gè)消息使它們的哈希相同。目前廣泛使用的哈希函數(shù)包括MD5、SHA1等。
由于哈希函數(shù)的這些密碼學(xué)性質(zhì),用其加密、保護(hù)口令是十分合適的,被業(yè)界大量應(yīng)用。
因?yàn)楣:瘮?shù)的單向不可逆性,對(duì)于受到哈希保護(hù)的加密口令,兩種基本的恢復(fù)手段是以時(shí)間為代價(jià)的暴力攻擊以及以空間為代價(jià)的查表法。然而在口令明文空間較大時(shí),這兩種策略由于需要消耗太多的資源,都無(wú)法在工程上實(shí)現(xiàn)。另一種廣泛采用的口令恢復(fù)方法字典攻擊,是查表法的一個(gè)變種,但這種策略受限于字典的好壞,僅僅能恢復(fù)一些簡(jiǎn)單口令有效。
彩虹表算法是Oechslin在2003年于前人的基礎(chǔ)上提出的一種新的算法,以時(shí)間空間折中思想為核心,為口令恢復(fù)提供了一種新的思路。……