第0046期•2018.09.20 發行
ISSN 2077-8813

首頁 >專題報導

也談資安:密碼迷思與出路

作者: 許可欣 / 臺灣大學計算機及資訊網路中心程式設計組幹事

其實這是一篇抱怨文。關於密碼造成的生活/工作困擾雖然從未被重視,但它確實存在。我想,總得有人把它說出來。

源起
網路上流傳著一個笑話:一年忙到頭,每天用六位數的密碼保護著三位數的存款,心好累!雖然只是個笑話,卻也反映出一個奇怪的現象:密碼越設越長,越設越複雜,但保護的東西價值卻很低。簡直成了現代版的買櫝還珠。


圖1. 大部分的複雜密碼防到的都是自己。(來源: 靠北工程師粉絲專頁)

隨著計算機硬體的不斷更新,計算能力不斷提升,密碼學也隨之在系統設計與駭客攻防之中日新月異地發展著。由於使用暴力法破解密碼的時間越來越短,在日常使用中,六位甚至八位數的密碼幾乎已經只有防君子不防小人的意義了(參考圖2)。為了「強化密碼的安全性」,系統管理者開始對使用者設定的密碼做了越來越嚴格的要求:

1. 不能太短,例如至少需六位數以上;
2. 不能只有數字;
3. 必須同時含有英文字母與數字;
4. 除英數字混合外,還須含有大寫與小寫英文字母;
5. 除大小寫英數字混合之外,還必須含特殊字元如@、$、#、*、&之類;
6. 必須定期更改密碼;
7. 必須定期更改密碼且已使用過的密碼不可再用;
……

的確,越來越長、「成份」越來越複雜的密碼,要破解它的時間也相對地越來越長(圖2)。但是,使用者也越來越記不住。甚至出現一個搞笑的狀況:密碼複雜到人類難以記憶,但是對計算機而言反而很容易破解(圖3)。


圖2. 密碼的字元數與使用John the Ripper暴力破解軟體破解所需時間列表。6個字元數以下所需時間都不到1秒,因此記錄為0分鐘。(圖取自參考資料1

 


圖3. 人類難以記憶,但計算機很容易猜的密碼(圖取自參考資料5

困擾
系統管理員的訂定密碼設定規則的立意應該是好的。然而,如果設定密碼的使用者根本就記不住,最後只會出現兩種情形:
1. 因為記不住密碼而不得不越來越頻繁地找系統管理員重設密碼(而且設定過的還不能再用!)
2. 將密碼記在筆記或靠諸如Google Chrome等管理密碼。

第一條路無庸贅言,會虛耗大量時間及人力成本;第二條路一來不見得能完全解決記憶各種密碼的負擔,二來,這樣做無異於把雞蛋全放進同一個籃子,一旦筆記弄丟或Google帳號被盜,豈不還是等於毫無防備,大方奉送給有意盜取的人?那麼,設定這許多複雜、冗長、難記又時常(被迫)更換還不准許重複的密碼,意義究竟何在?除了把資料被竊取的風險全部轉嫁到使用者身上,系統擁有者無責一身輕之外,對資訊安全真的有幫助嗎?

解決方法
再好的工具,弱點都是使用的人。既然無法不使用密碼保護重要系統與資料,那麼,有沒有辦法可以解決這樣的困境呢?
現在流行的方法之一,是使用社群網路帳號(如facebook、twitter等)登入。這個做法雖然簡便,但是最大的風險在於某些個資可能在不知情狀況下外洩;此外,世上沒有永遠存在的公司,永遠活躍的網站,這個方便法門何時會被關上,不是我們能夠控制的。

在參考資料6裡,作者Diogo Monica提出了幾個論點:
1. 選擇密碼應該是件不常做的事。
2. 保護密碼的重點應該是對抗有數據支持的統計攻擊而非暴力破解攻擊。
3. 當必須選擇密碼時,一個重要的選擇標準應該是「還有多少人也選用了一樣的密碼」
4. 作為一個安全防護社群,我們能做的最有影響力的事便是改變密碼強度的評估方式並禁止使用通用密碼。

總的來說,作者認為以密碼作為單一驗證的做法最終應該被淘汰,全部轉用多項驗證機制。然而在達成之前,我們還是需要一些過渡時期的幫手。也就是說,使用者在大多數時候需要的不是聰明的密碼設計或記憶方式,而是一個好用且可靠的密碼管理軟體。此外,對於少數需要記住的密碼(是的,它們應該是少數),我們應該致力於讓它們能夠抵抗字典式的攻擊,而非僅針對訊號理論觀點進行強化。

筆者搜尋了一下,找到了一篇文章(參考資料8)介紹幾個目前較廣為使用的密碼管理軟體供大家參考。由於筆者自己還沒有試用過,因此在此無法提供使用心得。僅供有需要的讀者自行選擇囉!

參考資料
1.A statistical analysis of large passwords lists, used to optimize brute force attacks.
2.密碼被暴力破解時間表全面披露
3.用GPU暴力破解密碼
4.Splash Data2017年「最爛密碼」排行榜
5.xkcd: A webcomic of romance, sarcasm, math, and language
6.Password Security: Why the horse battery staple is not correct
7.我為何撤銷了大部分網站的facebook帳戶連結
8.LastPass, KeePass, 1Password 三大密碼管理軟體功能比較表