問:我聽到越來越多的安全專家說,為了阻止暴力密碼黑客工具,密碼應該超過14個字符。但是,對大多數企業用戶群來說,這似乎有點兒要求太高了。您對這個標準的密碼長度有何建議?
答:專家們建議的這個密碼長度是有原因的,且并不是因為暴力工具。而是因為彩虹表(Rainbow Table,它是一張采用各種加密算法生成的明文和密文的對照表),稍后我們將對此作出解釋。
首先,為安全起見,現代應用程序和操作系統不會明文存儲用戶密碼。相反,因為用戶重置密碼,輸入的字母數字字符會進行加密算法,創造了一個獨特的加密哈希值,它代表密碼,且它存儲在系統中的一個文件里。當用戶返回到訪問系統,通過輸入序列相同的字母和數字,系統生成一個動態哈希序列和它的值,將它與原始文件的值對比,確定用戶輸入的密碼是否正確。
過去,哈希密碼被認為是一個安全的辦法,因為即使黑客能夠獲取系統的密碼哈希文件,但以計算機的能力,采取隨機輸入密碼與系統文件中已知的哈希值進行匹配,是一個不可能完成的任務。然而,由于這些信息的價值
以及當今計算機指數級的計算能力,黑客已經開始采取將每一個密碼字符序列組合映射到它們的哈希值——從A,AA,AAA開始,通過整個字母數字序列,并將結果存儲在公開可用的表被稱為彩虹表。這當然需要許多小時的努力,但這種類型的工作正在進行中。從最初試圖獲取密碼的哈希值開始,表的范圍和規模都在不斷增長,已經增長到密碼低于12-14個字符長度的話,那它們的哈希值現在很有可能存儲在彩虹表中的某個位置。這意味著,一個獲得系統哈希文件的不懷好意的人可以輕松獲得一個彩虹表(關于操作系統或應用程序的),從而查找哈希值來獲得用戶存儲在里面的密碼。不幸的是,隨著彩虹表的規模不斷增長,密碼必須變得更長更復雜,這樣才能使別人獲得用戶哈希值的要做的努力更大更沉重。正在進行的組裝彩虹表數據的工作,可能會很快讓關于最小密碼長度的最佳做法的討論變得毫無意義,這也是很多專家認為對重要的有價值的數據的身份驗證憑據來說,密碼一個糟糕的選擇的主要原因。
盡管密碼哈希文件會帶來危險,但使用強大的其他憑據,如軟件/硬件令牌,生物識別技術和基于知識的認證,這個問題可以很容易地得到解決。但在今天的市場中,密碼仍然是最常見的身份驗證憑據。因此,針對企業系統執行更長的最小密碼長度,可以幫助使密碼不易受到暴力攻擊。那么,怎樣才能使用戶使用長密碼更加方便?答案很簡單,通過使用“密碼短語”。與其創建一個無意義的字符和數字的長字符串,人們可以利用熟悉的句子,建立他們心中的圖像,有人覺得這樣更容易回想、記住他們的密碼。例如,如果用戶有一個孩子在上學,他們很可能想到這句話,“我的孩子是五年級的優等生,”這可以很容易地被翻譯成他或她記得的密碼,如Bobbies#1OnThe5thGradeHR。或者一個人可能很喜歡音樂,然后想,“我高中畢業時最喜歡的樂隊是Savage Garden,”這可以轉變成這個密碼N1998ILovedSavageGarden。這兩個例子中的密碼都很復雜且很容易就超過了14個字符的長度。短和獨特的密碼組合也可以,只不過在如何創建密碼時需要一些想象力和不同的思考方式。