Passwords
無需明文密碼即可升級的密碼雜湊
大多數密碼雜湊都有一個成本參數,指示算法應該花費多長時間。是否有一種算法可以增加特定雜湊的成本,而無需訪問明文密碼?
所以我在數據庫中有現有的雜湊值 = 10,我想將它們升級到成本 = 20,而無需訪問明文密碼。
這對於 PBKDF2 和 bcrypt 是不可能的,因為它們在每次迭代中都使用密碼。是否有任何算法支持這一點?此屬性是否有特定名稱?
根據 Catena 論文,這稱為客戶端獨立更新。
希望能夠從舊密碼散列(具有舊的和較弱的安全參數)計算新的密碼散列(具有一些更高的安全參數),而不必涉及使用者互動,即不必知道密碼。我們將此功能稱為獨立於客戶端的密碼雜湊更新。
Rig 密碼雜湊採用了這個術語:
客戶端獨立更新:我們的設計支持客戶端獨立更新,即伺服器可以在不知道密碼的情況下增加安全參數。
本文甚至將其簡稱為 CIU。
天真地,我會說:你能不只是連接兩個操作嗎?如果您將成本 10 的第二個雜湊操作添加到現有雜湊中,那不會給您 20 的總成本嗎?我的意思是:如果 CP 是明文密碼,並且您已經以成本 10 儲存了它們的 H1P = h1(CP) 雜湊值,那麼您是否也不能計算 H2P = h2(H1P) = h2(h1(CP))成本 10,獲得總成本 20 ?最終甚至使用相同的功能(所以 h1 = h2)?