資訊安全基礎
網路服務儲存使用者密碼時,先在密碼加上每位使用者各不相同的隨機值(鹽值),再計算雜湊值並儲存。使用鹽值的主要目的是什麼?
- A能以鹽值從雜湊值還原原始密碼,以便告知忘記密碼的使用者
- B即使有使用者使用相同的密碼,儲存的雜湊值也會不同,使利用事先計算好的雜湊值表格破解變得困難
- C縮短雜湊值,以節省資料庫的容量
查看答案與解析
正確答案:B. 即使有使用者使用相同的密碼,儲存的雜湊值也會不同,使利用事先計算好的雜湊值表格破解變得困難
密碼的基本原則是不直接儲存,而是儲存以雜湊函數計算出的雜湊值。登入時計算輸入密碼的雜湊值,再與儲存的值比對。然而若只儲存雜湊值,使用相同密碼的使用者會有相同的雜湊值,只要對照事先計算好常用密碼雜湊值的表格(彩虹表等),就能得知許多密碼。鹽值是為每位使用者隨機產生、加在密碼上的值,與雜湊值一起儲存。鹽值不需要保密,但因為每位使用者的值都不同,相同密碼也會得到不同的雜湊值,事先計算的表格就派不上用場。攻擊者必須針對每位使用者重新計算,所需的工夫大幅增加。
- A. 雜湊函數無法還原,即使有鹽值也無法還原密碼。忘記密碼的使用者要走重設的程序。
- B. 正確。每位使用者的雜湊值都不同,難以用事先計算的表格破解。
- C. 加上鹽值不會改變雜湊值的長度,反而因為要儲存鹽值而增加資料量。