15 年前發明煩死人的密碼規則,Bill Burr:抱歉浪費大家時間

評論
評論
Photo Credit: Christiaan Colen on Flickr

大家是不是都有這樣的經驗呢?當你要設定新密碼的時候,出現了這樣的一行提示:密碼長度不得低於 8 位數、必須同時包含大小寫英文、數字、符號,且相同字元不得重複超過 3 次、英文或數字間不得連續⋯⋯ 相信大家都心有戚戚焉,每次碰到這些落落長的要求,心裡就有底,這組密碼防止自己登入的次數將比防止被盜的次數還來得多。

那你知道這種規則是誰發創造的嗎?一切都始於近 15 年前,一名叫 Bill Burr 的美國國家教準技術研究所(NIST, National Institute of Standards and Technology)主管。Bill Burr 2013 年草擬了一份 8 頁的指南,教大家怎麼建立安全的密碼,這份文件就叫做「NIST 特別刊物 800-63. 附錄 A」。裡面建議大家設定密碼要用奇怪而無意義的字加上罕見的字元、大寫英文和數字,並且時常更換密碼。

我們後來常看到的大小寫、英數字規範,或多或少就是源自於這份文件,當時 Burr 的專業並非資安,而他現在已經 72 歲,也從研究所退休了。

最近 Bill Burr 接受 華爾街日報 訪問,提到了他很後悔也很抱歉為大家帶來這麼多困擾。儘管這份白皮書是早在一般人還用不到網際網路的 1980 年代就完成,而且 Burr 當時對此研究不深,他還是後悔讓大家設下太難懂又難記的密碼,而且很多規則可能放錯了重點。

基本上,Burr 提到的規則並沒有錯,如果有心人要駭入你的帳號,密碼愈複雜、愈違反直覺愈不容易猜中。但他沒考慮到,使用者天性最怕麻煩:

「你要他加入大寫、符號且 90 天改一次密碼,他就會從 Pa55word!1 改成 Pa55word!2。」

最後使用者還是設了超好猜的密碼(最常見的密碼就是 password),還浪費了一大堆時間。

當然,現在需要設定密碼的服務這麼多,也已經有很多案例可以事後諸葛,檢討怎麼做才可以兼顧「使用者的惰性」因素。 電腦運算能力愈來愈強大 ,逐字去猜密碼的暴力破解法所需時間也愈來愈短。就像華爾街日報舉例,XKCD 的漫畫,這些年來使用者已經被訓練成會設定人類難懂的密碼,但對機器來說卻相對好懂。

Photo Credit: XKCD

Tr0ub4dor&3(一串難記的密碼,符合各種常見規則)有 2 的 28 次方種組合,每秒猜 1000 次,電腦只要約 3 天就能猜出來。「correcthorsebatterystaple」(一串用 4 個隨機詞組成的密碼,沒有符合規則),有 2 的 44 次方種組合,每秒猜 1000 次大約需要 550 年。

在這個例子中,真要人類背的話後面那串荒謬的 4 組單字密碼比較好記,而電腦最會的就是用運算,因此最後的決勝點在於長度。

後來 NIST 也更新了他們的指南,從字符規則改為強調密碼長度。但這也不能怪 Burr,畢竟科技發展日新月異,大家都是從錯中學,就像彈出視窗廣告發明人,還有發明 http 後面那兩條斜線(同時也是發明網路)的 Tim Berners-Lee,他們都曾說對造成眾人困擾感到很抱歉,不過他們可都是創造了網路世界基礎元素的重要一份子。 

相關文章

評論