什么是彩虹表攻擊?如何抵御彩虹表攻擊?

在我們之前的文章中說(shuō)過(guò),哈希算法是不可逆的,所以有很多網(wǎng)站選擇使用哈希算法來(lái)加密用戶的密碼。雖說(shuō)這種方法可以提升密碼管理的安全性(不直接儲(chǔ)存明文),但也會(huì)存在被攻擊的可能,彩虹表攻擊就是常見的攻擊方法。下面我們來(lái)了解一下什么是彩虹表攻擊?該如何抵御彩虹表攻擊?

什么是彩虹表攻擊?

哈希算法的攻擊通常有兩種,一種是窮舉法,另一種則是對(duì)照表法。前者需要大量的計(jì)算,因此破解速度非常慢;后者則需要海量的磁盤空間來(lái)儲(chǔ)存數(shù)據(jù)。而彩虹表則是這兩種方法的折中。

彩虹表的根本原理就是組合了暴力法和查表法,并在這兩者之中取得一個(gè)折中,用可以承受的時(shí)間和存儲(chǔ)空間進(jìn)行破解。

彩虹表攻擊將使用包含哈希及其純文本等價(jià)物的預(yù)生成文件來(lái)破解存儲(chǔ)在數(shù)據(jù)庫(kù)中的密碼。如果數(shù)據(jù)庫(kù)中的哈希值與彩虹表中的哈希值匹配,則現(xiàn)在可以進(jìn)行身份??驗(yàn)證,密碼已被破解。

彩虹表

如何抵御彩虹表攻擊?

  • 加鹽

在之前的文章中我們就已經(jīng)簡(jiǎn)單了解過(guò)“加鹽”的相關(guān)介紹了,感興趣的小伙伴可以點(diǎn)擊什么是“加鹽”?為什么加密也要“加鹽”?查看。

通過(guò)使用鹽技術(shù)可以輕松地防止彩虹表攻擊,該技術(shù)是將隨機(jī)數(shù)據(jù)與純文本一起傳遞到哈希函數(shù)中的方法。這樣可以確保每個(gè)密碼都有一個(gè)唯一的生成的哈希值,因此可以防止彩虹表攻擊。

彩虹表

  • 使用高強(qiáng)度哈希算法

MD5和SHA-1已經(jīng)被認(rèn)為不再安全,所以想要提升安全性,就需要選擇更加安全的SHA-2或SHA-3。

  • 創(chuàng)建強(qiáng)密碼

毫無(wú)疑問(wèn),創(chuàng)建強(qiáng)密碼是應(yīng)對(duì)彩虹表攻擊的最簡(jiǎn)單的方法,密碼強(qiáng)度越高,安全性自然也就越高。

  • 多次加密

彩虹表攻擊主要是依靠哈希算法的數(shù)據(jù)庫(kù),如果對(duì)密碼進(jìn)行多次不同算法的加密,這就會(huì)增加攻擊者的破解難度,并且很難通過(guò)單一數(shù)據(jù)庫(kù)就破解成功。

彩虹表


彩虹表攻擊雖然是目前最常見的哈希算法攻擊方法,但也是可以通過(guò)加鹽、多次加密等方法輕松抵御的,并且隨著算法的不斷升級(jí),彩虹表的攻擊難度也在不斷加大。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪稿。