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

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

什么是彩虹表攻擊?

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

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

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

彩虹表

如何抵御彩虹表攻擊?

  • 加鹽

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

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

彩虹表

  • 使用高強度哈希算法

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

  • 創(chuàng)建強密碼

毫無疑問,創(chuàng)建強密碼是應對彩虹表攻擊的最簡單的方法,密碼強度越高,安全性自然也就越高。

  • 多次加密

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

彩虹表


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

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