資訊安全基礎

儲存密碼時,建議不要直接使用SHA-256這類快速的雜湊函數,而是使用bcrypt或Argon2這類刻意設計成需要較長計算時間的方式。理由是什麼?

  1. A計算時間長的方式輸出較長,因此不會發生碰撞
  2. B花時間計算,就只有合法使用者能從雜湊值還原原始密碼
  3. C當儲存的雜湊值外洩時,攻擊者每嘗試一個候選密碼的計算也會變重,使暴力攻擊與字典攻擊所需的時間大幅增加
查看答案與解析

正確答案:C. 當儲存的雜湊值外洩時,攻擊者每嘗試一個候選密碼的計算也會變重,使暴力攻擊與字典攻擊所需的時間大幅增加

密碼的雜湊值一旦外洩,攻擊者就能在自己的電腦上將候選密碼逐一雜湊,找出一致者。SHA-256這類通用雜湊函數是為了快速處理大量資料而設計,使用GPU等硬體時,每秒可以嘗試極大量的候選。bcrypt與Argon2這類為儲存密碼而設計的方式,可以調整計算的重複次數(成本),刻意讓每次計算變重。例如讓每次計算變慢100萬倍,暴力搜尋所需的時間也會變成100萬倍。合法使用者登入時只需計算一次,0.1秒左右的延遲不成問題。Argon2還能設定使用大量記憶體,讓以GPU或專用電路大量平行計算變得困難。無論哪種方式,都要搭配每位使用者各自的鹽值使用。

  • A. 計算時間與輸出長度無關。目的不是防止碰撞,而是讓暴力攻擊變慢。
  • B. 任何方式都無法從雜湊值還原原始密碼,合法使用者也只是重新計算輸入的密碼再比對。
  • C. 正確。讓每次嘗試變重,就能大幅增加外洩後暴力攻擊所需的時間。
練習這個領域 前往領域頁面

相關計算工具

資訊安全基礎的其他題目

  1. 以嘗試所有候選的暴力法搜尋8個字元的密碼。若每秒可嘗試1×10^10個候選,對於只以英文小寫字母(26種)組成的密碼,以及以英文大寫字母、小寫字母與數字(62種)組成的密碼,試完所有候選所需時間最接近的組合是哪一項?
  2. A在要傳給B的文件上附加數位簽章。建立與驗證簽章所用的金鑰,以及數位簽章能確認的事項,正確的組合是哪一項?
  3. 比較訊息鑑別碼(MAC)與數位簽章的說明,正確的是哪一項?
  4. 發現網頁伺服器的伺服器憑證所對應的私密金鑰可能已經外洩。憑證尚未到期。營運者最適當的處置是哪一項?
  5. 在確認使用者身分的驗證三要素(知識、持有物、生物特徵)中,使用員工證IC卡的驗證屬於哪一項?