username
password
tom123456
注意:永遠不要使用這種方式
驗證流程:
- 1. 提交使用者名稱密碼
- 2. 計算密碼雜湊值
- 3. 比對儲存的雜湊值和計算出的雜湊值是否相等
使用雜湊演算法(可以是md5, sha1, sha256,sha512 結果長度依次增長):
123456sha-512ba3253876aed6b...
username
password
tomba3253876aed6b………
雜湊演算法缺點:
1. 容易遭受彩虹表(rainbow table, 如下)攻擊!通過把大量的雜湊值和原密碼儲存的組合儲存在表中。達到用得到的hash值反向查詢原密碼。
hash_value
original_password
ba3253876aed6b…
123456
c70b5dd9ebfb6f…
abc123
b109f3bbbc244e…
password……
2. 另外乙個缺點是可以看到誰有相同的密碼
username
password
tomba3253876aed6b…
jerry
ba3253876aed6b………
3. 回應一下標題,md5作為密碼已經十分不安全,現在網上有很多**可以通過出入md5 的雜湊碼來查詢對應的明文(通過彩虹表實現)。
salt可以簡單的理解成:隨機產生的一定長度的,可以和密碼相結合,從而使hash演算法產生不同結果的字串。
123456 + 0x23f22(salt)sha-512bc22711a45e73e5e50f8...
username
salt
password
tom0x23f22
bc22711a45e73e5e50f8…
優點:這種方法會極大防止受到彩虹表的攻擊,因為即便攻擊者構造出彩虹表,因為你使用了 hash(密碼+ salt),攻擊者彩虹表裡的雜湊值(hash(密碼))和你資料庫中的雜湊值是不同的。
缺點: 如果攻擊者知道了salt和你的雜湊值,就可以計算出你的原始密碼(當然也沒有那麼容易)
通過迭代計算的方式增加計算密碼的成本。迭代的週期控制在使用者可以接受範圍內,這樣攻擊者的計算和時間成本就會大大增加。
123456 + 0x23f22(salt)sha-512 (500000 times)bc6567567a45e73...
username
iteration
salt
password
tom500000
0x23f22
bc6567567a45e73…
類似的方法可以使用:bcript
hashed value = bcript(password,salt,cost factor)
123456 + 0x23f22(salt) + 10 (cost factor)bcript bc6567567a45e73...
username
password
tom$2a$10$rocufoljqlddm12xmdj32
注:一般的應用應用做到level3就可以了,如果需要更加安全的方式請看下文。
金鑰(encryption key) + bcript的結果aes 256 ox2c78a32f...
username
password
tomox2c78a32f…
- 定時更換金鑰(準備一組金鑰定時更換,首先通過金鑰解密加密儲存的密碼得到 bscript計算出的hash值,在用新的金鑰進行加密)
- 金鑰儲存在在不同的資料來源
(通過將金鑰儲存在不同的資料來源的方法,進一步增加了破解難度,因為需要同時獲得使用者密碼表資料,同時要獲得其他資料來源儲存的金鑰)
密碼發到不同的資料庫示意圖 示意圖
這個總結是根據youtube上 stormpath cto的演講總結,演講位址[在這](
MD5安全分析
但凡部署在廣域網的應用程式,隨隨便便的好多任務具可以根據ip或網域名稱掃瞄應用程式的所有暴露的介面,進而分析引數,注入程式,分分鐘被攻擊。那咋才能保證介面的安全性呢?一 面臨的主要安全問題 a.網路環境假設 a1.假設公共網路 internet,如 wifi 非家庭網路 非辦公網路等 是不安全的,一...
MD5加鹽與安全
php開發者對md5 這個函式是熟悉不過了,很多開發者都使用md5 abc123 對使用者密碼進行加密處理,這樣做沒有錯,但是安全性還是很低的,因為很多 的使用者資料都是用md5進行加密處理的,所以就發生了撞庫事件,最典型的就是前些年12306火車票 上的使用者資訊洩露事件。很多人在多個 使用相同的...
提高IIS的安全性
概要 使用iis的省缺設定就象把你屋子的鑰匙給了別人,本文教你如何把門鎖上。本文不是100 直譯,括號中的是討飯貓的廢話 沒有任何系統是100 安全的,系統漏洞會不斷地發現,這是因為黑客和系統管理員一樣也在整天看著新聞組,收集著這方面的資訊。黑與反黑之間的戰鬥會永遠進行下去。如果你採用iis的省缺設...