国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
您的密碼屬于第幾代?加“鹽”了嗎?
案例
隨筆
知識
聲音
其他
編者按
戰(zhàn)斗機代際差別很大,同樣的,密碼系統(tǒng)的設(shè)計理念也分代。對比看看您的密碼系統(tǒng)是第幾代呢?
“鹽”(Salt)在密碼學中,是指通過在密碼任意固定位置插入特定的字符串,讓散列后的結(jié)果和使用原始密碼的散列結(jié)果不相符,這種過程稱之為“加鹽”。
以上這句話是維基百科上對于 Salt 的定義,但是僅憑這句話還是很難理解什么叫 Salt,以及它究竟起到什么作用。
第一代密碼
早期的軟件系統(tǒng)或者互聯(lián)網(wǎng)應(yīng)用,數(shù)據(jù)庫中設(shè)計用戶表的時候,大致是這樣的結(jié)構(gòu):
▲圖1  保存用戶名和密碼的數(shù)據(jù)表結(jié)構(gòu)
數(shù)據(jù)存儲形式如下:
▲圖2  保存用戶名和密碼的數(shù)據(jù)表(赤裸裸的明文)
主要的關(guān)鍵字段就是這么兩個,一個是登陸時的用戶名,對應(yīng)的一個密碼,而且那個時候的用戶名是明文存儲的,如果你登陸時用戶名是 abc,那么數(shù)據(jù)庫里存的就是 abc。這種設(shè)計思路非常簡單,但是缺陷也非常明顯,數(shù)據(jù)庫一旦泄露,那么所有用戶名和密碼都會泄露,后果非常嚴重。
第二代密碼
為了規(guī)避第一代密碼設(shè)計的缺陷,聰明的人在數(shù)據(jù)庫中不在存儲明文密碼,轉(zhuǎn)而存儲加密后的密碼,典型的加密算法是 MD5 和 SHA1,其數(shù)據(jù)表大致是這樣設(shè)計的:
▲圖3  保存用戶名和密碼的數(shù)據(jù)表結(jié)構(gòu)
數(shù)據(jù)存儲形式如下:
▲圖4  保存用戶名和密碼的數(shù)據(jù)表(用戶名還是明文,但是密碼已經(jīng)哈希化了)
假如你設(shè)置的密碼是 123,那么數(shù)據(jù)庫中存儲的就是:
202cb962ac59075b964b07152d234b70(MD5),或者
40bd001563085fc35165329ea1ff5c5ecbdbbeef(SHA1)。
當用戶登陸的時候,會把用戶輸入的密碼執(zhí)行 MD5(或者 SHA1)后再和數(shù)據(jù)庫就行對比,判斷用戶身份是否合法,這種加密算法稱為散列。
嚴格地說,這種算法不能算是加密,因為理論上來說,它不能被解密。所以即使數(shù)據(jù)庫丟失了,但是由于數(shù)據(jù)庫里的密碼都是密文,根本無法判斷用戶的原始密碼,所以后果也不算太嚴重。
第三代密碼
本來第二代密碼設(shè)計方法已經(jīng)很不錯了,只要你密碼設(shè)置得稍微復(fù)雜一點,就幾乎沒有被破解的可能性。但是如果你的密碼設(shè)置得不夠復(fù)雜,被破解出來的可能性還是比較大的。
好事者收集常用的密碼,然后對他們執(zhí)行 MD5 或者 SHA1,然后做成一個數(shù)據(jù)量非常龐大的數(shù)據(jù)字典,然后對泄露的數(shù)據(jù)庫中的密碼就行對比,如果你的原始密碼很不幸的被包含在這個數(shù)據(jù)字典中,那么花不了多長時間就能把你的原始密碼匹配出來。這個數(shù)據(jù)字典很容易收集,CSDN 泄露的那 600w 個密碼,就是很好的原始素材。
于是,第三代密碼設(shè)計方法誕生,用戶表中多了一個字段:
▲圖5  保存用戶名和密碼的數(shù)據(jù)表結(jié)構(gòu)
數(shù)據(jù)存儲形式如下:
▲圖6  保存用戶名和密碼的數(shù)據(jù)表(用戶名還是明文,但是密碼已經(jīng)哈?;?,且加了鹽)
Salt 可以是任意字母、數(shù)字、或是字母或數(shù)字的組合,但必須是隨機產(chǎn)生的,每個用戶的 Salt 都不一樣,用戶注冊的時候,數(shù)據(jù)庫中存入的不是明文密碼,也不是簡單的對明文密碼進行散列,而是 MD5( 明文密碼 + Salt),也就是說:
▲圖7  加鹽的計算模式
由于加了 Salt,即便數(shù)據(jù)庫泄露了,但是由于密碼都是加了 Salt 之后的散列,壞人們的數(shù)據(jù)字典已經(jīng)無法直接匹配,明文密碼被破解出來的概率也大大降低。
是不是加了 Salt 之后就絕對安全了呢?淡然沒有!壞人們還是可以他們數(shù)據(jù)字典中的密碼,加上我們泄露數(shù)據(jù)庫中的 Salt,然后散列,然后再匹配。但是由于我們的 Salt 是隨機產(chǎn)生的,假如我們的用戶數(shù)據(jù)表中有 30w 條數(shù)據(jù),數(shù)據(jù)字典中有 600w 條數(shù)據(jù),壞人們?nèi)绻胍耆采w的壞,他們加上 Salt 后再散列的數(shù)據(jù)字典數(shù)據(jù)量就應(yīng)該是 300000* 6000000 = 1800000000000,一萬八千億啊,干壞事的成本太高了吧。但是如果只是想破解某個用戶的密碼的話,只需為這 600w 條數(shù)據(jù)加上 Salt,然后散列匹配??梢?Salt 雖然大大提高了安全系數(shù),但也并非絕對安全。()
實際項目中,Salt 不一定要加在最前面或最后面,也可以插在中間嘛,也可以分開插入,也可以倒序,程序設(shè)計時可以靈活調(diào)整,都可以使破解的難度指數(shù)級增長。
【編者注】加鹽系統(tǒng)的泄露,數(shù)不勝數(shù)。加鹽密碼的解密平臺,現(xiàn)在也很常見了。而我們能做的是什么呢?幾乎毫無作為。
信息安全,路在何方……
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
加鹽 MD5 SHA1 安全
Access教程 第一章 Access數(shù)據(jù)庫基礎(chǔ)
PDMan已全面升級至CHINER
Oracle11g常用數(shù)據(jù)字典
第3章 數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計方法
LoadRunner參數(shù)化詳解
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服