撰稿:Alrin,日期:2022-10-28

密碼是現代人類社群生活中的一部分,透過密碼我們可以在保有個人的隱私下,使用各種的服務。在網站、電腦、手機、平板、App、軟體以及各種線上支付中,我們得記住一些密碼,這是既定的生活日常。

而且這些密碼在每個平台上的管理方式也都不盡相同;為了避免密碼被竊取、破解,有的系統希望你定期修改密碼,有些網站還對密碼設下了難度的限制。於是,常常忘記密碼的情況每天都在發生,而網站伺服器端的工程師還要為此,開發出一個忘記密碼的恢復流程,這個流程的目的就是為了確認,來要求取回密碼的人是「帳號本人」。

所以從服務端來看,網站、App 在密碼安全性方面,要作的事情還真不少。

複雜的密碼邏輯

許多人會使用自己的名字、生日、身分證字號、電話號碼來當密碼,不過這些密碼幾乎都可以在幾分鐘、幾個小時內被破解,所以複雜密碼的需求也就越來越高。

美國國家教準技術研究所(NIST, National Institute of Standards and Technology)主管「Bill Burr」在 2003 年為美國政府工作時,寫下了密碼安全領域的「聖經」,他要大家「使用大小寫字母、數字和非字母符號」,原因是用複雜的密碼較難以被猜到;另外,他也建議經常更換密碼。

事實上如果使用 4 個英數字元混合加密的 Zip 檔案,使用暴力破解工具,例如「fcrackzip」,猜出正確密碼的時間僅需要 8 秒,如果把英數字元提高到 8 個字,則會需要 64 秒,如果 8 個字元中,還混合了標點符號,要猜出密碼的時間將要耗費更多的時間。

Untitled

所以,在邏輯判斷上,Burr 的觀點想法都沒有錯。

只是當年 Burr 的專業並非資安,而他現在已經 72 歲,也從研究所退休了。最近 Bill Burr 接受華爾街日報訪問,提到了他很後悔也很抱歉為大家帶來這麼多困擾。儘管這份白皮書是早在一般人還未發展網際網路的 1980 年代就已經完成,而且 Burr 當時對此研究不深,他還是後悔讓大家設下太難懂又難記的密碼,況且其中很多規則可能放錯了重點。

雖然 Burr 提到的規則並沒有錯,如果有心人要駭入你的帳號,密碼愈複雜、愈違反直覺就愈不容易猜中。但他沒考慮到,使用者天性最怕麻煩,我們根本記不住這種「Uj3k@u90」系統分配的密碼。

Burr 承認,他的建議是錯的,這些辦法實際上不能提高密碼的安全性。相反,這些密碼組合會讓電腦系統更容易受到攻擊,因為用戶在創造了一個複雜密碼之後,會重複使用這些密碼,或者為了防止自己遺忘,有些人還會寫下來貼到電腦旁邊。而且,數字和符號的加入並沒有讓電腦更加免疫於駭客嘗試所有組合可能性的強力攻擊(brute force)。

定期更換密碼也可能是錯誤的

密碼複雜,如果要用戶定期更換密碼,有的用戶會偷懶的只更換其中一個字母或數字,例如把「Wohao5huA!」改成「Wohao5huA?」。這種更改對阻止駭客來說毫無意義。

如果系統會檢查你更改的結果,來防止使用者用太相似的密碼,那就更糟糕了,使用者會乾脆創建兩組高強度密碼,然後修改密碼就用那兩組來切換,如此一來此定期修改密碼的目的將不攻自破。

而且,定期更改密碼引起的不便,比有限的密碼安全更是糟糕。

美國新密碼指南

現在,美國國家科學技術研究所的線上密碼指南已經更新,裡面提到四點非常重要:

  1. 不要重複使用密碼