国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

md5/sha1+salt and Bcrypt

yvonne / 1785人閱讀

摘要:人們在微博上發表關于密碼和安全相關的消息。該條微博的作者強烈建議使用進行加密。紅色級別的安全隱患比黃色級別嚴重很多。防止黃色級別并不是硬性要求。當暴力破解失敗,唯一的辦法就是使用數據字典。在這種情況下,攻擊者只需進行逐一計算。

PHP自帶的MD5和SHA1加密函數是否安全,看了很多年前的一篇博文。原文為英文,個人英語能力真的有限,翻譯了一下,其中必定存在很多錯誤,希望各位可以指正。
原文鏈接


中國最大的開發者社區網站CSDN被破解了,數據庫泄露。在泄露的數據庫中,密碼是明文存儲的。人們在微博上發表關于密碼和安全相關的消息。我注意到一條消息,用MD5/SHA1+salt存儲密碼并不安全。該條微博的作者強烈建議使用BCrypt進行加密。雖然我不擅長的加密和安全技術,但是在我的記憶中,SHA1+salt是存儲密碼最流行的方式。怎么可能是不安全的?

我為密碼安全定義了兩個級別:黃色級別和紅色級別。當數據庫被泄露,如果通過計算得到一個可以通過認證的密碼,這時安全級別為黃色;如果通過計算可以得到原始密碼,這時安全級別為紅色。

紅色級別的安全隱患比黃色級別嚴重很多。人們通常在不同的站點使用相同的密碼。如果原始密碼被泄露,所有的站點都存在安全隱患。如果攻擊者不能計算出原始密碼,那么影響的僅僅是被攻擊的站點。在我的印象中,人們需要防范紅色級別的安全隱患。防止黃色級別并不是硬性要求。

在我的印象中,hash+salt已經足夠好了。為什么我還要使用BCrypt?

如果我們分析定義的兩個級別,我們應該提出這樣的問題:對于給定的通過計算得到的密碼,如何判斷它是否是原來的。常見的解決方案是使用數據字典或分析字面模式。當涉及到數據字典時,它將變得很有趣。攻擊者通常使用暴力破解和數據字典兩種方式進行密碼破解。從維基百科和BCrypt的介紹來看,hash+48bit salt很難被暴力破解。這需要半分鐘來遍歷所有的6個字符的密碼。對于48位散列,需要花費幾個月時間。

在這種情況下,攻擊者通常選擇放棄,除非目標用戶是一個重要人物。當暴力破解失敗,唯一的辦法就是使用數據字典。如果密碼不在數據字典中,那么你將無能為力。

以上的分析基于salt不被泄露的情況。如果salt被泄漏,個人用戶失去保護。在這種情況下,攻擊者只需進行逐一計算。攻擊者不能使用rainbowmap。如果密碼復雜程度為8位字符,需要超過70小時,遍歷所有的可能性。

從上面的分析,使用hash+salt不同情況下有不同結果:

如果salt仍然是安全的,那么你是安全的,除非你是一個重要人物,不然不會成為目標。正常攻擊者不為為難你。

如果salt被泄露,情況取決于你密碼的復雜性。對于簡單的密碼,破解可能只需要幾秒鐘。對于8位字符的密碼,比如315@hkBJ,達到黃色級別的安全隱患,攻擊者只需花費幾個小時,但是如果要達到紅色級別,需要利用集群計算機計算幾天。

BCrypt犧牲性能來得到安全。它計算出hash比hash+salt要慢10000倍,因此增加了10000倍的破解成本。

對于BCrypt,如果salt被泄露,一個簡單的密碼破解成本也需要幾天。如果使用簡單密碼,用BCrypt進行加密也是不安全的。但如果salt沒有丟失,或者salt丟失但是密碼很復雜,需要很多年才能達到黃色級別,并且不可能得到紅色級別。

作為總結,用戶不要使用過于簡單的密碼。

使用hash+salt加密的情況下,如果你的密碼夠復雜,不需要擔心你會變成紅色級別。唯一的例外是,你是攻擊者的暗戀對象、傷了攻擊者心的好基友,那么你將成為攻擊者的目標,他不惜耗費大量時間來破解你的密碼。

使用Bcrypt加密的情況下,你總是安全的,除非你使用過于簡單的密碼。然而,由于Bcrypt性能的原因,如果你需要使用Bcrypt,那么你需要購買更多的web服務器用來密碼驗證。如果你有2個驗證服務器,現在,你需要購買20000個服務器!

當然你可以配置BCrypt,使其更快,但是安全性將會下降。或者,你可以緩存明文密碼,并在內存中計算出的哈希值,但如果內存轉儲泄漏,所有的明文密碼將被泄露。

綜上所述,如果你采用以下建議,建議使用hash+salt進行加密:

多帶帶存放hash和salt。

強制用戶使用強密碼。

設計自己的哈希函數。不要簡單地復制粘貼常見開源代碼。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20684.html

相關文章

  • md5/sha1+salt and Bcrypt

    摘要:人們在微博上發表關于密碼和安全相關的消息。該條微博的作者強烈建議使用進行加密。紅色級別的安全隱患比黃色級別嚴重很多。防止黃色級別并不是硬性要求。當暴力破解失敗,唯一的辦法就是使用數據字典。在這種情況下,攻擊者只需進行逐一計算。 PHP自帶的MD5和SHA1加密函數是否安全,看了很多年前的一篇博文。原文為英文,個人英語能力真的有限,翻譯了一下,其中必定存在很多錯誤,希望各位可以指正。原文...

    史占廣 評論0 收藏0
  • [轉]MD5(1)-安全性與原理

    摘要:沒錯,年的破解就是證明了在碰撞上面不可靠,也就是可以通過某種方式快速的找到具有相同散列值的另一個信息。好,第二個不安全的誤區來了上述破解過程對于絕大多數散列函數來說,基本上都是一個道理。 轉載請注明出處 http://www.paraller.com 原文排版地址 點擊獲取更好閱讀體驗 轉載: http://blog.sina.com.cn/s/blog_77e8d1350100w...

    ideaa 評論0 收藏0
  • SSH安全通信與端口轉發(一)

    摘要:博文參考概述所有業務的正常運轉,離不開一個安全的運行環境,系統安全性直接關系到業務穩定可靠以及可用性,本章就介紹一些系統安全相關的話題。 博文參考 https://segmentfault.com/a/1190000010312601 概述 所有業務的正常運轉,離不開一個安全的運行環境,系統安全性直接關系到業務穩定、可靠、以及可用性,本章就介紹一些系統安全相關的話題。 加密基礎概念 安...

    chunquedong 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<